自定义指令的隔离作用域

来源:互联网 发布:php发送短信 编辑:程序博客网 时间:2024/05/29 13:57
原文链接:http://www.cnblogs.com/Kavlez/p/4288885.html
自定义指令的$scope默认为false,true时会从父作用域继承并创建一个自己的作用域。
ng-controller的作用也是从父作用域继承并创建一个新的作用域。
比如这样,离开了自己的作用域就被打回原形了:
<div ng-init="content='from root'">    {{content}}    <div ng-controller="AncestorController">        {{content}}        <div ng-controller="ChildController">            {{content}}        </div>        {{content}}    </div>    {{content}}</div>
.controller('ChildController', function($scope) {    $scope.content = 'from child';}).controller('AncestorController', function($scope) {    $scope.content = 'from ancestor';})
$scope为true时会从父作用域继承并创建一个自己的作用域
<div ng-init="myProperty='test'">    {{ myProperty }}oooo    <div my-directive ng-init="myProperty = 'by my-directive'">        {{ myProperty }}    </div>    {{ myProperty }}

</div>

.directive('myDirective', function($rootScope) {    return {        scope:false    };})
//在页面显示的都是by my-directive,
第一次对myProperty初始化的值被后面的自定义指令对myProperty的初始化值所覆盖掉。


0 0
原创粉丝点击