我在parentCtrl中有一个对象$ scope.object,我有一个独立的范围指令 . 在内部指令中,我有一个功能,其中我需要进行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>

并且此目标在指令范围内与父范围进行双向绑定