我从HTML调用函数,我想显示返回的结果。
这是html代码:
<td ng-init="'damages = list.getDamageEvents(soData.damagesId)'">
{{damages}}
</td>
这是控制器中的功能:
self.getDamageEvents = function (reviewsId) {
var t;
return $http.get(config.baseUrl + "api/DamageEvent/GetEventsByReviewsId/" + reviewsId).then(function (result) {
t=result.data;
});
return t
}
getDamageEvents()函数返回一些字符串。
但在模板视图中,我看不到任何返回的结果。
编辑:我需要访问getDamageEvents函数作为隔离范围。
知道我为什么看不到返回的结果?
答案 0 :(得分:2)
$ http.get 返回promise,因此您无法在函数getDamageEvents结尾处返回结果,而应将结果影响到名为成功回调中的损害赔偿:
self.getDamageEvents = function (reviewsId) {
$http.get(config.baseUrl + "api/DamageEvent/GetEventsByReviewsId/" + reviewsId)
.then(function (result) {
self.damages = result.data;
});
}
然后您可以在视图中访问损坏变量
答案 1 :(得分:2)
恢复数据的功能应设置$scope.damages
。
self.getDamageEvents = function (reviewsId) {
var t;
return $http.get(config.baseUrl + "api/DamageEvent/GetEventsByReviewsId/" + reviewsId).then(function (result) {
t = result.data;
$scope.damages = t;
});
return t;
}
不知道您的完整代码,因此我没有删除return t;
声明,但我想您不需要它。
答案 2 :(得分:1)
执行此操作时:
{{damages}}
Angular将检查名称和损坏的变量&#39;在你的范围内。那么你在控制器范围内有一个具有该确切名称的变量吗?即:
$scope.damages = ...
(假设您没有使用controllerAs语法)。