更新控制器外部的角度模型
Update angular model outside of the controller
我正在学习Angular教程,并做了大量的阅读。然而,我很难找到这个问题的答案。或者,我可能想错了,我希望有人能帮我解决这个问题!
非常简单的例子:
var phones = [
{"name": "Nexus S",
"snippet": "Fast just got faster with Nexus S.",
"age": 0},
{"name": "Motorola XOOM™ with Wi-Fi",
"snippet": "The Next, Next Generation tablet.",
"age": 1},
{"name": "MOTOROLA XOOM™",
"snippet": "The Next, Next Generation tablet.",
"age": 2}
];
function PhoneListCtrl($scope) {
$scope.phones = phones;
$scope.orderProp = 'age';
}
我在上面所表示的是将来自该控制器外部的数据源。我有一个现有的缓存功能,它将根据新数据的需要XHR服务器。
假设模型随后发生变化:
phones[3] = {"name": "Something new from the server",
"snippet": "Here is some new incoming data",
"age": 5};
如何告诉Angular PhoneListCtrl
控制器模型已更新?如果您自己测试并更新数组,Angular不会意识到更改,因此不会更新DOM。
我知道$http
服务,但在我目前的体系结构中,我不能在控制器中使用$http来获取数据——控制器需要询问我为数据编写的外部函数,并且我需要某种方式来告诉Angular的控制器数据随后何时更改。
感谢您的帮助和洞察力!
如果您从外部角度上下文更新数据,您可以使用类似的东西来获得定义控制器的元素的范围
angular.element(domElement).scope()
然后使用
$apply
方法定义的范围推送更新
点击此处查看更多详细信息
相关文章:
- 将不在模型中的数据返回到mvc控制器
- 当显式定义控制器参数时,默认模型绑定器会发生异常
- 模型数据未通过窗体传播到控制器ASP.NET MVC4
- 概念验证模型控制器调用正确的实例
- 如何从其他控制器更改角度模型值
- 如何在打开模型时动态加载控制器文件
- 如何从另一个控制器更新控制器的ng重复模型
- 控制器内部无法访问Angular js输入模型
- 将视图链接到模型并将视图链接至控制器的代码位于何处
- 控制器内部的scope函数不根据视图中的ng模型更新值
- 如何将值与$scope绑定,以从定义状态ui路由器的控制器中使用ng模型进行查看
- ng模型跨多个控制器或视图
- 在控制器中将 ng 模型值返回为空的指令
- 一个控制器如何在 Ember .js 中观察任意控制器/模型上的事件
- NodeJS和Express - 将我的控制器和模型分开
- 节点.js中的模型-视图-控制器模式
- Ember.js:如何使用模型的单个实例创建路由/控制器
- 控制器是否应直接访问视图的模型
- 使用JSON/Javascript将表值返回给视图模型/控制器
- Emberjs:正确绑定模型/控制器/视图与夹具数据