我试图理解 angularJS,它的方法与我看到的脏检查模型更新不同。
基本上,我有一个指令 ng-draggable
,它使元素......可拖动。我有一个模型与每个具有属性的元素链接,x
并且y
- 与模型链接的元素的位置 - 我希望指令更新模型。
为此,我尝试$apply
在指令中使用该函数并设置模型值 x 和 y。然后我还使用该$observe
函数来更新视图:这是我的 jsfiddle。(注意我使用工厂来捕捉鼠标事件)
var mousemove = function(event) {
var y = event.screenY - startY;
var x = event.screenX - startX;
scope.$apply(function(){
attr.$set('ngModel', {'x': x, 'y': y});
});
}
它似乎工作正常。但是,当我使用保存按钮检查模型值时(它在控制台中打印模型),位置 x 和 y 不会更新。
所以我的问题是如何让它工作?更一般地说,这里发生了什么?关于 angularJS 中的 MVC 模式的任何阅读建议(我发现开发人员指南对初学者来说有点苛刻)
感谢您的帮助。