2016-05-16 52 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

相关问题