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>