Я вызываю функцию из 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() возвращает некоторую строку.
Но в представлении шаблона я не вижу никакого возвращенного результата.
EDIT: Мне нужно получить доступ к функции getDamageEvents в качестве области выделения.
Любая идея, почему я не могу увидеть результат?
$ http.get возвращает обещание, поэтому вы не можете вернуть результат в конце вашей функции getDamageEvents, вместо этого вы должны повлиять на результат на переменную с именем "убытки" в обратном вызове успеха следующим образом:
self.getDamageEvents = function (reviewsId) {
$http.get(config.baseUrl + "api/DamageEvent/GetEventsByReviewsId/" + reviewsId)
.then(function (result) {
self.damages = result.data;
});
}
Затем вы можете получить доступ к переменной ущерба в своем представлении
Ваша функция, восстанавливающая данные, должна установить $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;
но я думаю, вам это не нужно.
Когда вы это сделаете:
{{damages}}
Угловое будет проверять переменную имени "убытки" в вашем объеме. Итак, у вас есть переменная с этим точным именем в области вашего контроллера? То есть:
$scope.damages = ...
(Предполагая, что вы не используете синтаксис controllerAs).