我使用Angular 1.2.24(最新的稳定版本)时遇到了一个简单的隔离范围的问题。
app.directive('myDirective', function() {
return {
restrict: 'A',
scope: {},
link: function(scope) {
scope.name = 'This is my directive';
}
};
});
<div my-directive>{{ name }}</div>
但是name
是空的。如果我删除scope: {}
它的工作原理。那是为什么?
答案 0 :(得分:1)
使用这种方式
HTML:
<div ng-app="MyModule">
<div my-directive>
</div>
</div>
JS:
angular.module('MyModule', []).directive('myDirective', function() {
return {
restrict: 'A',
scope: {},
template:'<div>{{ name }}</div>',
link: function(scope) {
scope.name = 'This is my directive';
}
};
});
答案 1 :(得分:0)
我找到了答案:AngularJS Scope differences between 1.0.x and 1.2.x
这种行为是一种预期的突破性变化,它是在Angular 1.2.0中引入的(在rc3之后)。