Я очень (очень) новичок в AngularJS, поэтому, если вы можете объяснять решения и предложения, которые помогут загружать!
Я пытаюсь сделать директиву, которая передается параметр - в моем случае championID, чтобы затем использовать для вызова API.
Вызов API работает и возвращает правильные данные, единственная проблема, с которой я сталкиваюсь, - это поместить это в шаблон и вернуть его.
Сообщение об ошибке, которое я получаю, это
Reference error: championURL is not defined
моя директива ниже:
.directive('championImage', function() {
return {
restrict: 'E',
link: function($scope, iElm, iAttrs, controller) {
$scope.championId = iAttrs.championId;
$http.get('https://global.api.pvp.net/api/lol/static-data/euw/v1.2/champion/'+ championId +'?champData=image&api_key=<removed for stack overflow>').success(function(data){
$scope.championURL = '<img src="http://ddragon.leagueoflegends.com/cdn/5.22.3/img/champion/'+ data.image.sprite +'"/>';
}).error(function(data){
console.warn('Incorrect username entered or max queries hit');
});
},
template: championURL
};
});
Любые идеи, в которых я ошибаюсь,
Благодаря,
Киран
Я бы привязал src к шаблону и в функции ссылки при возврате HTTP-запроса обновил привязанную переменную:
Havent протестирован, но я так думаю
+ Изменить
Из:
template: championURL
Для того, чтобы:
template: $scope.championURL
$scope is not defined