我在指令之一中使用范围隔离。但是,这似乎不起作用:
<div ng-controller="MyCtrl">
Hello, {{name}}!
<dir info='spec'>
{{ data }}
</dir>
</div>
var myApp = angular.module('myApp',[]);
//myApp.directive('myDirective', function() {});
//myApp.factory('myService', function() {});
function MyCtrl($scope) {
$scope.name = 'Superhero';
$scope.spec = 'Super';
}
myApp.directive('dir', function(){
return {
restrict: 'AE',
scope:{
data: '=info'
}
}
});
小提琴:enter link description here
最佳答案
这是一个小提琴:http://jsfiddle.net/WA5t5/
由于this commit(1.2)在应用程序模板或其他一些模板中定义的子元素
指令模板未获得隔离范围。
您可以改为:
myApp.directive('dir', function(){
return {
restrict: 'AE',
scope:{
data: '=info'
},
template: "{{ data }}"
}
});
如果要更改此行为,请检查我的其他答案:Why I can't access the right scope?