角度|参考错误:未定义championURL

时间:2015-11-20 09:33:57

标签: angularjs api get angularjs-scope

我非常(非常)对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
};
});

我出错的任何想法,

谢谢,

基兰

2 个答案:

答案 0 :(得分:1)

我将src绑定到模板,并在http请求返回时链接函数中,更新绑定变量:

Understanding AngularJS ng-src

没有经过测试,但我认为就是这样

答案 1 :(得分:0)

更改

自:

template: championURL

要:

template: $scope.championURL