【发布时间】:2013-01-30 09:30:55
【问题描述】:
我试图理解 angularJS,它的方法与我看到的脏检查模型更新不同。
基本上,我有一个指令 ng-draggable,它使元素...可拖动。我有一个 model 与每个具有属性 x 和 y 的元素链接 - 与模型链接的元素的位置 - 我希望指令更新模型。
为此,我尝试在指令中使用$apply 函数并设置模型值x 和y。然后我还使用$observe 函数来更新视图:here is my 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 模式的阅读建议(我发现开发人员指南对初学者来说有点苛刻)
感谢您的帮助。
【问题讨论】:
标签: model-view-controller angularjs