我有一个自定义指令,它有自己独立的范围:
angular.module('app').directive('custom', function(){
return {
scope: {
text: '@'
},
link: function(scope, element){
alert(scope.$id);
alert(element.scope().$id);
}
}
})
它绑定到单个h1标记:<h1 custom text="Hello Plunker!"></h1>
有人可以解释一下为什么我在第一次和第二次警报时获得不同的范围值吗? 有没有办法使用DOM元素和范围()调用来获取我的隔离范围?
提前致谢
答案 0 :(得分:2)
scope
指的是指令的范围,一个孤立的范围。
element.scope()
指的是与该元素相关联的范围。
要通过element
获取隔离范围,您可以致电element.isolateScope()
。