Angularjs-元素上有多个指令,其中一个是隔离作用域
Angularjs - Multiple directives on element with one being isolate scope
想知道是否有人能解释当前的行为。
我有一个具有隔离作用域的指令,称之为dirA。然后我又发布了另一条指令,dirB。期望第二个指令获取隔离指令创建的每个作用域。
dirB获取控制器作用域。为什么它不能获得dirA为该元素创建的相同隔离作用域?
谢谢你的帮助。我真的没有任何代码,只是好奇。如果有人需要两个小指令和一些html来帮助可视化,我当然会的。非常感谢。
您观察到的是正确的,这种行为是故意的。
当指令请求一个隔离的作用域时,AngularJS会为该指令创建一个作用域,特别是为声明该指令的元素创建而不是。换句话说,隔离是按指令而不是按元素进行的。这使得编写可重用和独立的指令比必须防止不正确地使用与其他指令隔离的范围要容易得多。
在同一元素上声明的所有其他指令共享外部作用域。(还值得注意的是,这些指令甚至不能请求自己的作用域,无论是否隔离。虽然在1.3之前由于错误而不能保证这种行为,但在1.3中已经修复了。)
相关文章:
- 当我更新另一个作用域变量时,作用域变量会自动更新
- 在另一个作用域变量中使用AngularJS作用域变量
- 如何在angularjs中访问一个指令作用域值到另一个指令
- AngularJ为多个DOM/作用域提供一个控制器
- 从另一个模块访问作用域的指令
- 我应该如何创建一个作用域到另一个模型的主干集合
- 在另一个作用域中声明变量
- 从一个作用域中删除数据,它反映在另一个作用区上
- 在函数中运行代码,就好像它在另一个作用域中运行一样
- 如何触发函数或将选定值赋给另一个作用域变量
- 添加一个作用域变量作为window的参数.打开功能
- 改变一个作用域项
- 如何确保一个作用域变量在查看angularjs之前被更新和绑定
- 在angularjs中,最佳实践是将简单的变量值传递给另一个作用域
- 如何在一个作用域中执行JS代码的不同部分
- 从另一个作用域调用函数
- 两个控制器,Angular中的一个作用域变量
- 从另一个作用域遍历作用域中的对象
- jQuery -如何在另一个作用域中调用函数
- 如何在回调函数中从另一个作用域更新变量