这是我的脚本:
angular.module('MyApp',[])
.directive('mySalutation',function(){
return {
restrict:'E',
scope:true,
replace:true,
transclude:true,
template:'<div>Hello<div ng-transclude></div></div>',
link:function($scope,$element,$attrs){
}
};
})
.controller('SalutationController',['$scope',function($scope){
$scope.target = "StackOverflow";
}])
和html:
<body ng-app="MyApp">
<my-salutation ng-controller="SalutationController">
<strong>{{target}}</strong>
</my-salutation>
</body>
问题是,当SalutationController
应用于my-salutation
指令时,对于嵌入的元素$scope.target
是不可见ng-controller
的。但如果我穿上<body>
或穿上<strong>
元素,它就可以工作。正如文档所说,ng-controller
创建了新的范围。
谁能解释一下,在这种情况下,该范围和指令的范围如何相互干扰?
如何将控制器置于指令上?任何提示将不胜感激。