我有一个离子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
答案 0 :(得分:1)
似乎错误在mImg组件中,来自代码here,您没有看到src
属性的更改(但您只在url
属性上执行此操作这里没有使用)你正在触发一些逻辑(在$scope.load
中定义)来更新视图。
你应该在src
添加一个观察者并触发你的加载方法更新$scope.imgSrc
变量,这应该更新你的观点
controller: function($scope, $timeout, $mAppDef) {
$scope.$watch('src', function() {
$scope.load()
});
}