当Google要放慢速度时,请问stackoverflow ...出于某种原因,我无法找到有关此问题的内容:
我阅读了this教程,这导致我this插入。出于某种原因deferred
在我刚刚使用yo generator-angular
创建的项目中不起作用,即使我直接从plunk复制代码。最后我发现,我正在使用角度版本 1.2.2 ,而插件使用 1.1.5 。
真正的问题似乎是deferred.resolve
无法按预期工作(根本没有)。将plunk中的版本切换为1.2.2后,您可以看到此行为。很奇怪UI 正在使用3个(?)对象进行更新。
编辑:我还发现更改控制器以设置承诺then()
功能中的属性可以正常工作。所以1.2.2版本根本不允许直接绑定promises,比如$scope.message = HelloWorld.getMessages()
。这是为什么?此承诺的接口也已更改,不再具有always
功能。这是原因吗?
我在 grml 之前更喜欢它。
任何人都可以澄清一下吗?
丹尼尔
答案 0 :(得分:3)
对于1.2版,您的getMessages()
方法是一个promise对象,而不是已解析的数据本身。 Angular不再为您自动解包promise对象,因此您需要在回调中访问已解析的数据,如下所示:
HelloWorld.getMessages().then(function(data){
$scope.messages = data;
});
Here is an updated Plunkr说明了上述变化。这一突破性变化is described in more detail here:
<强> $解析强>: