Угловой | Ошибка ссылки: championURL не определен

0

Я очень (очень) новичок в 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
};
});

Любые идеи, в которых я ошибаюсь,

Благодаря,

Киран

Теги:
get
angularjs-scope

2 ответа

1
Лучший ответ

Я бы привязал src к шаблону и в функции ссылки при возврате HTTP-запроса обновил привязанную переменную:

Понимание AngularJS ng-src

Havent протестирован, но я так думаю

0

+ Изменить

Из:

template: championURL

Для того, чтобы:

template: $scope.championURL
  • 0
    это возвращает $scope is not defined
  • 0
    У вас нет $ scope в определении директивы, только внутри функции link.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню