AngularJS Example:

HTML

<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.0.2/angular.min.js"></script>
<div ng-app="components" ng-init="sp={}">
    var: <br/><input ng-model="var"><br/>
    sp.var : <br/><input ng-model="sp.var">
    
        
    <block>
        var :{{var}}<br/><input ng-model="var"/><br/>sp.var :{{sp.var}}<br/><input ng-model="sp.var"/>
    </block>
</div>

CSS

.block{
    padding:5px;
    margin-top:5px;
    border:1px solid #0f0;
}

JavaScript

angular.module('components', []).directive('block',function(){
    return{
        scope:false,
        replace:true,
        transclude:true,
        restrict:"E",
        template:'<div class="block" ng-transclude></div>',
        link:function(scope, el, attrs, ctrl){

        }
    }
});