如何在angular指令中的子指令之间共享数据?

时间:2014-10-17 18:50:15

标签: angularjs angularjs-directive angularjs-scope

假设我有两个指令parent-dir和child-dir

<div parent-dir>
  <div child-dir>
  <div child-dir>
</div>
<div parent-dir>
  <div child-dir>
  <div child-dir>
</div>

如何在第一个parent-dir指令和该元素中的所有child-dir指令之间共享数据,但是与另一个父-dir隔离?

1 个答案:

答案 0 :(得分:0)

这取决于您如何设置指令。一种方法是父和子指令创建一个新范围。子范围自动继承父范围,并可以使用$parent专门访问父范围。兄弟姐妹不能[轻松]访问彼此的范围。在您的示例中,child-dir可以访问他们的parent-dir,但parent-dir无法访问其他parent-dir

您可以在定义指令时返回的对象中使用以下内容创建新范围

scope: {}

注意:如果您使用scope: true,您将创建一个隔离范围,其父范围为rootScope,而不是其逻辑父级。