Chapter 1: Isolate scope
by msfrisbie
HTML
<script src="https://code.angularjs.org/1.3.2/angular.min.js"></script>
<div ng-app="myApp">
<div ng-controller="MainCtrl">
<my-directive>
Stuff inside
</my-directive>
</div>
<script type="text/ng-template" id="my-directive.html">
<div>
<p>Directive template</p>
<p>Scope from {{origin}}</p>
<p>Overwritten? {{overwrite}}</p>
</div>
</script>
</div>
JavaScript
angular.module('myApp', [])
.controller('MainCtrl', function ($scope) {
$scope.overwrite = false;
$scope.origin = 'parent controller';
})
.directive('myDirective',function() {
return {
templateUrl: 'my-directive.html',
replace: true,
scope: {},
link: function (scope) {
scope.overwrite = !!scope.origin;
scope.origin = 'link function';
}
};
});