Angularjs ng中的ng src重复未更新

Angularjs ng中的ng src重复未更新,angularjs,angularjs-ng-repeat,Angularjs,Angularjs Ng Repeat,我对angularjs完全陌生,这里我尝试从ng repeat获取一个img id,并通过一个函数传递它,然后返回一个图像字符串,但它显示了一些错误。请帮忙 HTML 工厂 getImgUrl:function(key){ return $http({ method:"GET", url:somedomain.com/getCoverPicture", //This domain will return a image

我对angularjs完全陌生,这里我尝试从ng repeat获取一个img id,并通过一个函数传递它,然后返回一个图像字符串,但它显示了一些错误。请帮忙

HTML

工厂

getImgUrl:function(key){
  return $http({

            method:"GET",
            url:somedomain.com/getCoverPicture",
            //This domain will return a image string.
            params:{'key':key}

        }).then(function(response){

            return response.data;

        })

}

getImgUrl函数不返回图像的URL。它返回HTTP响应的承诺,其主体包含(希望)URL

ng src
需要URL

此外,
getImageUrl(key)
在eash摘要周期中通过Angular进行计算,您确实不希望每次摘要周期运行时都进行HTTP查询

因此,您需要预先获取图像URL(当控制器实例化时,或者当您获取属性列表时),并将其存储在对象中。假设您的listOfProperties是一个数组(应该是数组),而不是一个对象:

listOfProperties.forEach(function(property) {
    factory.getImgUrl(property.key).then(function(response) {
        property.imgUrl = response.data;
    });
});
在你看来:

<tr data-ng-repeat="property in listOfProperties">
    <td><img ng-src="{{property.imgUrl}}" /></td>
</tr>


请阅读angular Promissions,因为您似乎错过了一些关于它们的重要内容。

您的getImgUrl函数不会返回图像的URL。它返回HTTP响应的承诺,其主体包含(希望)URL

ng src
需要URL

此外,
getImageUrl(key)
在eash摘要周期中通过Angular进行计算,您确实不希望每次摘要周期运行时都进行HTTP查询

因此,您需要预先获取图像URL(当控制器实例化时,或者当您获取属性列表时),并将其存储在对象中。假设您的listOfProperties是一个数组(应该是数组),而不是一个对象:

listOfProperties.forEach(function(property) {
    factory.getImgUrl(property.key).then(function(response) {
        property.imgUrl = response.data;
    });
});
在你看来:

<tr data-ng-repeat="property in listOfProperties">
    <td><img ng-src="{{property.imgUrl}}" /></td>
</tr>

请阅读一些有角度的承诺,因为你似乎错过了一些重要的东西。

试试这个

<tr ng-init="getImageUrl(key);" data-ng-repeat="(key, list) in listOfProperties">
      <img ng-src="{{list.url}}">
    </tr>
试试这个

<tr ng-init="getImageUrl(key);" data-ng-repeat="(key, list) in listOfProperties">
      <img ng-src="{{list.url}}">
    </tr>

你可以在下面添加错误吗这是我得到的角度。min.js:118错误:[$rootScope:infdig]你可以在下面添加错误吗这是我得到的角度。min.js:118错误:[$rootScope:infdig]