我正在阅读 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};
如何告诉 AngularPhoneListCtrl
控制器模型已更新?如果您自己对此进行测试并更新数组,Angular 不会意识到更改,因此不会更新 DOM。
我知道该$http
服务,但在我当前的架构中,我不能在控制器中使用 $http 来获取数据——控制器需要询问我为数据编写的外部函数,当数据随后发生变化时,我需要某种方式告诉 Angular 的控制器。
感谢您的帮助和洞察力!