4 回答

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超6個(gè)贊
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | <!doctype html> <html> <head> <meta charset="utf-8"> <title>test</title> <script src="angular.min.js"></script> <script> var myApp = angular.module("myApp", []); myApp.directive('testIt',function(){ return { restrict: 'A', scope: false, link:function(scope, elm, attr){ if(scope.$last){ elm.css('color','red'); scope.myFunction(); } } } }); myApp.controller("testCtrl", function($scope){ $scope.items = [0,1,2,3,4]; $scope.myFunction = function(){ console.log('Hello!'); }; }); </script> </head>
<body> <div ng-app="myApp"> <div ng-controller="testCtrl"> <ul> <li ng-repeat="item in items" test-it >{{item}}</li> </ul> </div> </div> </body> </html> |
主要在于12行的scope:false,這個(gè)是默認(rèn)的,其實(shí)你不寫(xiě)也是false。這樣drective繼承了父scope,所以可以調(diào)用父作用域的方法,而聲明新的scope即scope:{}形式就不會(huì)繼承了,不過(guò)你依然可以用scope.$parent.myFunction()的方式調(diào)用。

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊
A',
scope: false,
link:function(scope, elm, attr){
if(scope.$last){
elm.css('color','red');
scope.myFunction();
}
}
}
});
myApp.controller("testCtrl", function($scope){
$scope.items = [0,1,2,3,4];
$scope.myFunction = function(){
console.log('Hello!');
};
});
</script>
- 4 回答
- 0 關(guān)注
- 1562 瀏覽
添加回答
舉報(bào)