我在parentCtrl中有一个对象$ scope.object,我有一个独立的范围指令。在inside指令中,我有一个功能,我需要进行API调用并获取$ scope.object的属性之一(此属性是一个对象数组)并在原始$ scope.object中替换此属性。
我已经尝试了各种方法,但不知怎的,我并没有完全了解它。我尝试使用$ scope。$ parent.object从指令的控制器更新它。 在此之后,我尝试将获取的数组发送到父控制器并在那里替换它。
一旦$ scope.object得到更新,该指令应该运行,因为指令的模板绑定了$ scope.object的属性。 有趣的是,视图会使用新数据进行更新,但原始对象中的数据会以某种方式再次变为空。
我想,我的指令被调用的方式存在一些问题,因为同一个指令是嵌套调用的。如下图所示:
<li ng-repeat="t in A" ng-if="t.selected">
<div directive> <div>
</li>
其中,A是fetched属性,t.selected为true。现在在获取的数据中,对于数组的两个元素,t.selected为true,而指令被调用4次,每个元素两次。在第一次迭代中,数据在父对象中保持不变,而在第二次迭代中,数据变为空
我想知道,如何永久更新父对象的数据
指令:
<li ng-repeat="(key, t) in fetch.data>
<div layout="row" layout-wrap directive target="t" ></div>
</li>
并且此目标在指令范围内与父范围
进行双向绑定