2
我有一个奇怪的行为,我的承诺。请参阅以下普拉克:http://plnkr.co/edit/uBuBS3Oi7mIPob2jtqkmAngularJS:承诺没有正确解决
它是基于从马克Galgleish(http://markdalgleish.com/2013/06/using-promises-in-angularjs-views/)一篇非常好的文章的普拉克。
在我的控制器我有一个名为消息的简单$ scope属性(正从该服务的延迟对象):
angular.module('myModule', [])
.controller('HelloCtrl', function($scope, HelloWorld) {
$scope.messages = HelloWorld.getMessages();
$scope.click = function()
{
alert($scope.messages[0]);
}
});
正如预期的那样,承诺是(每解析)完成后的视图得到的实际价值观并向他们展示。但点击按钮并执行点击功能,我不能按预期使用$ scope.messages。就这个看法而言,承诺并没有解决。
随着(http://plnkr.co/edit/vX3dSFjzB6R7q4Oed7Gj)
HelloWorld.getMessages().then(function(data){
$scope.messages = data;
});
一切工作正常,但是这不是我的解决方案。在我真正的应用程序中,它是一个返回复杂的已经同步的缓存对象(来自本地存储)的服务,或者如果需要与服务器同步的服务。同步后返回更新的对象。
任何想法?
THX提前 克努特