2016-05-16 54 views
0

所有文檔和教程HTTP請求中我發現,recomanded用法是一樣的東西:是否可以在模板中解析AngularJS promise?

var ax = { 
    getCaseData: function() { 
    api.cases.getCase(caseManager.data.id).then(function(res){ 
     // puting my response to $scope.something 
     $scope.something = res.data; 
    }); 
    }, 
} 

我真的不覺得像高級所以請告訴我,如果我錯了,但我的事情很多次你不」不需要在示波器上存儲這樣的內容,例如,您只需解析承諾一次並顯示數據(您不需要做其他任何事情)

所以我在考慮是否有一個選項可以作爲承諾:

var ax = { 
    getCaseData: function() { 
    return api.cases.getCase(caseManager.data.id); 
    }, 
} 

這個呼叫tempalte像後:

<li ng-repeat="ax.getCaseData()"></li> 

回答

1

這是在舊版本AngularJS(< 1.2)的自動處理,但此後被刪除。 一些帖子指出,該功能可以手動重新啓用在你的「的.config」功能加入這一行:

$parseProvider.unwrapPromises(true); 

但這不建議作爲解決方案。您目前正在以正確的方式進行。 如果你有很多這樣的案例,你可以創建自己的「承諾包裝器」功能,並從你的模板中使用它。

參見:https://stackoverflow.com/a/19472065/1636977

相關問題