【发布时间】:2017-03-01 14:03:20
【问题描述】:
我以为我已经掌握了使用自定义指令的隔离作用域,然后遇到了这个问题,我已经为此苦苦挣扎了 3 个小时:
一旦为指令创建了隔离作用域,我认为您可以在controller 或link 函数中设置任何作用域数据(在本例中为greeting)。但是在 HTML 中引用 {{greeting}} 不起作用,即使 greeting 在通过控制台检查时显示在范围内?
我认为新的隔离作用域将分配给指令myDir,并且在该作用域上定义的任何内容都可以在<my-dir> 的HTML 内容中访问。显然,我的理解有差距。
有什么想法吗?
Plunker:here
HTML:
<my-dir>
Greeting: {{greeting}}
</my-dir>
JS:
var app = angular.module('myApp', []);
app.directive('myDir', function() {
return {
restrict: 'EA',
scope: {},
controller: ['$scope', function ($scope) {
$scope.greeting = 'Hello';
//this.greeting = 'Hello';
}],
link: function(scope, element, attrs){
//scope.greeting = 'Hello';
}
};
})
【问题讨论】:
标签: angularjs angularjs-scope isolate-scope