我刚开始使用 Angular.js,我试图弄清楚如何设置一个工厂来显示缓存的数据,并在收到数据后将其替换为从 REST 服务检索的数据。
为了测试这一点,我只是对“缓存”数据进行硬编码。收到数据后,我希望使用从服务器接收到的最新数据更新 $scope.directory 变量。我可以得到它
这是我的工厂代码:
app.factory('directoryFactory', function ($http) {
var factory = {};
factory.directory = [{name: "Test", ext: "123"},{name: 'Bob', ext: "234"}];
init();
function init() {
$http({
method: 'GET',
url: '{restapiURL}'
})
.success(function (data, status, headers, config) {
factory.directory=data;
})
.error(function (data, status, headers, config) {
console.log('directory fail');
});
}
}
我的控制器有以下代码:
$scope.directory = directoryFactory.directory;
在我看来,我使用 ng-repeat 列出所有人员及其扩展名。
我希望在收到数据后更新视图。监视工厂数据更改的正确方法是什么?