Здесь находится мой script:
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>
, он работает. Поскольку docs говорит, ng-controller
создает новую область.
-
Кто может объяснить, как этот объем и область действия этой директивы мешают друг другу в этом случае?
-
Как установить контроллер на директиву? Любые подсказки будут оценены.