0
所以我正在閱讀一本關於AngularJS的書,並且在承諾部分中有2個代碼模式,如下所示。他們說使用第一種方法,而不是後者,但他們沒有解釋爲什麼。在這兩種情況下,都會顯示一個已解決的承諾,但我不明白爲什麼一個工作,另一個不工作。爲什麼這兩個promise中的一個不按預期更新DOM?
<h1>Hello, {{name}}!</h1>
而在一個控制器的代碼:
$scope.name = $timeout(function() {
return "World";
}, 2000);
VS
<h1>Hello, {{getName()}}!</h1>
而且在控制器以下代碼:
$scope.getName = function() {
return $timeout(function() {
return "World";
}, 2000);
};
這個例子中的提示是:
我們建議不要直接在$ scope上公開承諾,並依靠解析值的自動呈現。我們發現這種方法相當混亂,尤其是考慮到函數調用返回的promise的不一致行爲。
我是新來的承諾和角度,並試圖找出如何做一些魔術。
這本書是掌握與AngularJS的Web應用程序開發,這是在第3章。
是的,它確實表明這兩種模式。我會站點頁面#但我正在epub中閱讀它,所以「頁面」的概念取決於設備和字體大小。但是在第3章中,它們引入了$ http和$ resouce。 – boatcoder