当我更新源时,Img src不会改变

时间:2017-10-16 20:44:21

标签: angularjs ionic-framework

我有一个离子1应用程序,我试图动态更改img源。我认为我必须做的就是更新链接到此源的范围,但它不起作用。什么可能出错?

my View
<div ng-if="isList" class="item style-list" ng-repeat="(key, item) in items"
       ng-click="goTo(item)">
            <div class="img-container" ng-if="isList">
                <m-img encode="true" src="item.image"></m-img>
            </div>
    <h1 ng-bind="item.title"></h1>
            <p ng-bind="item.resume" ng-if="item.resume"></p>
            <p ng-bind-html="stripHtml(item.description) | mCut:100" ng-if="!item.resume"></p>
  </div>

my Controller
     $scope.$on("update-data", function(event, args) { 

      $scope.items[1].description = 
      args.response.results[0].item.description;
      $scope.items[1].id = args.response.results[0].item.id;
      $scope.items[1].image = args.response.results[0].item.image;
      $scope.items[1].resume = args.response.results[0].item.resume;
      $scope.items[1].title = args.response.results[0].item.title;

    });

我的m-img组件

html
<div class="thumb-size notloaded">
  <div class="thumb" ng-if="imgStyle" ion-img-cache-bg ng-
style="imgStyle">
    </div>
</div>

我的m-img JS有点广泛,这里https://codeshare.io/adABMe

1 个答案:

答案 0 :(得分:1)

似乎错误在mImg组件中,来自代码here,您没有看到src属性的更改(但您只在url属性上执行此操作这里没有使用)你正在触发一些逻辑(在$scope.load中定义)来更新视图。

你应该在src添加一个观察者并触发你的加载方法更新$scope.imgSrc变量,这应该更新你的观点

controller: function($scope, $timeout, $mAppDef) {
   $scope.$watch('src', function() {
     $scope.load()
   });
}