【发布时间】:2015-10-12 19:24:55
【问题描述】:
从 angularJS 指南https://docs.angularjs.org/guide/directive 中的“如何创建通信指令”开始,
我正在尝试使用该布局来制作可导航的表单。
问题是指令隔离了它们的命名空间,所以当我想引用从输入中插入数据的主要作用域时,我需要这样做:
<div id="showfoo">Foo = {{foo}}</div>
<form-tabs>
<form-tab>
<input ng-model="$parent.$parent.$parent.$parent.foo" />
</form-tab>
<form-tab>
<input ng-model="$parent.$parent.$parent.$parent.foo" />
</form-tab>
<form-tab>
<input ng-model="$parent.$parent.$parent.$parent.foo" />
</form-tab>
</form-tabs>
这是可以理解的,因为每个transclude和每个isolate scope都创建了一个child scope,所以总共创建了4个嵌套。
问题是,如何避免这种情况?理想情况下,我想创建一个<input ng-model="foo">,并让它更新div#showfoo
【问题讨论】:
标签: javascript angularjs angularjs-directive angularjs-scope