AngularJs 作用域 - 如何正确从 DOM 获取作用域
AngularJs scope - how to get scope from DOM correctly?
我有一个自定义指令,它有自己的隔离作用域:
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 元素和 scope() 调用来获取我的隔离范围?
提前致谢
下面是一个示例:http://plnkr.co/edit/mdLS5eZAqw4YBWwLZWbo
scope
指的是指令的范围,一个孤立的范围。
element.scope()
是指与该元素关联的范围。
要通过element
获取隔离范围,您可以调用 element.isolateScope()
。
相关文章:
- 监视函数从服务返回不起作用,但作用域函数起作用
- 将作用域存储在JSON中
- 从控制器继承了隔离的作用域以生成可重用的指令
- 从ng模板访问作用域
- 调用私有作用域
- 对父作用域的指令更新延迟了一步
- 正在$rootScope上达到控制器作用域$在内部控制器上
- 两个指令创建新的继承的和隔离的作用域-元素得到哪个
- 直接在DOM事件处理程序中调用作用域函数的最短方法是什么
- AngularJ为多个DOM/作用域提供一个控制器
- 在DOM(html)上下文中使用角度作用域函数时出现的问题
- AngularJs 作用域 - 如何正确从 DOM 获取作用域
- Polymer.dom:dom元素的作用域查询选择器
- 在DOM元素上创建角作用域
- 主干——DOM元素更有效的作用域查找方法是什么?
- 带隔离作用域的Angularjs指令不会触发指令外的DOM更改
- dom内部的指令作用域绑定不起作用
- 在DOM中移动控制器时保留元素/作用域状态
- 在angular 1.4.4中,为什么作用域变量的变化不需要$watch或$apply就能传播到DOM ?
- 在使用Angular时,如何才能只在DOM元素的ID与作用域变量匹配时才显示它呢?