【发布时间】:2012-12-31 17:14:12
【问题描述】:
我已阅读有关此问题的主题,例如:The view is not updated in AngularJS,但我仍然无法理解如何将其应用于我的简单示例。
我有这个功能:
function MyPageView($scope) {
var myModel = new MyModel();
$scope.myModel = myModel;
}
当myModel 在代码的其他地方更新时(当用户点击、交互、发送 XHR 请求时)它不会更新我的视图。我知道我需要用 $apply 做一些事情,但我不明白在哪里以及如何做。
有人可以向我解释如何解决这个简单用例的问题吗?
我的模型看起来像这样(如果问题需要这样做的话) - 它里面没有 AngularJS 代码:
var MyModel = function() {
var _this = this;
...
_this.load = function(){...};
_this.updateModel = function(){...};
...
return _this;
}
添加 JSfiddle 示例: http://jsfiddle.net/DAk8r/2/
【问题讨论】:
-
这里没有足够的代码来准确地告诉您出了什么问题。您能否向我们展示一个导致模型更新而不是视图更新的交互示例?如果你有一个关于 jsFiddle 或类似的工作示例,那就更好了。
-
如果您可以发布您的视图代码的摘录,展示它如何与控制器交互以及它期望 myModel 的位置,那就太棒了。如果您可以在某种程度上充实 MyModel 函数,这也很有帮助。正如布兰登上面所说,你所拥有的并不足以告诉你发生了什么。
-
@BrandonTilley,我添加了一个 JSfiddle 示例:jsfiddle.net/DAk8r/1
-
@AbrahamP,我添加了一个 JSfiddle..
-
我修复了一个问题 - 这是更新版本:jsfiddle.net/DAk8r/2
标签: javascript html model-view-controller angularjs