Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ngModel不更新父对象_Javascript_Angularjs - Fatal编程技术网

Javascript ngModel不更新父对象

Javascript ngModel不更新父对象,javascript,angularjs,Javascript,Angularjs,我尝试使用要求ngModel管理coords对象的指令({x:number,y:number}) 我的问题是,当我更新指令中的值时,指令中的所有操作都正常,但是数据最初来自的父范围没有更新 在我的指令中,这里是链接功能的内容(仅管理ngModel的部分): 有一个拖放功能,可以更改$viewValue并传播它(当元素被拖放时): 以及父级中的指令调用: <img-pointer data-ng-repeat="answer in graphicQuestionCtrl.answer"

我尝试使用要求
ngModel
管理coords对象的指令(
{x:number,y:number}

我的问题是,当我更新指令中的值时,指令中的所有操作都正常,但是数据最初来自的父范围没有更新

在我的指令中,这里是
链接
功能的内容(仅管理ngModel的部分):

有一个拖放功能,可以更改
$viewValue
并传播它(当元素被拖放时):

以及父级中的指令调用:

<img-pointer data-ng-repeat="answer in graphicQuestionCtrl.answer"
             data-ng-model="answer">
</img-pointer>

graphicsquestionCtrl.answer
中的值似乎永远不会更新


我已经从指令
img指针
中删除了隔离范围,因为我读到它阻止了父级的更新,但它并不能解决问题。

最常见的问题是打破了始终在
ng模型中使用对象的黄金法则,因为子范围中的原语将丢失双向绑定
答案
var实际上是一个对象:
{x:10,y:20}
。另外,在指令
$modelValue
$viewValue
中正确更新。如果没有点,则不作为传递给视图的范围对象。。。。总是有一个好的点。但我不确定如何才能做到这一点,因为如果我传递整个数组,我将无法检索其中的正确对象。如果我试图将
$index
传递给指令,我需要一个隔离作用域,它似乎也破坏了ngModel传播。如果没有复制问题的演示,很难真正提供帮助
scope.$apply(function () {
    ngModel.$setViewValue({
        top: scope.top,
        left: scope.left
    });
});
<img-pointer data-ng-repeat="answer in graphicQuestionCtrl.answer"
             data-ng-model="answer">
</img-pointer>