我正在使用带引导模式的角度,我有一个json存储在控制器中的范围变量产品中,如下所示
controllers.productController = function($scope) {
$scope.products = {"meta": {"total_count": 3}, "objects": [{ "id": 3, "image": "/media/products/1/Product007_image.JPEG", "image2": "/media/products/1/Product007_image2.JPEG",}, {"id": 4, "image": "/media/products/1/Product009_image.JPEG", "image2": "/media/products/1/Product009_image2.JPEG"},{"id": 13, "image": null, "image2": null}]}
$scope.fetchModal = function(index) {
$scope.activeProd = index;
$('#product_desc').modal();
}
}
的index.html
<div ng-controller="productController">
<div class="product-list">
<span ng-repeat="product in products.objects" ng-click="fetchModal(index)" >{{ product.id }}</span>
</div>
<div id="product_desc">
<img ng-src="{{products.objects[activeProd].image }}" />
{{ products.objects[activeProd].id }}
</div>
</div>
它工作得很好,问题是,如果我点击产品列表中有产品列表的产品,它会用图像渲染模态,然后点击产品,其图像值为null,即没有图像,在其模型中,产品形象仍然存在而我什么也得不到。我希望我明白我的观点
我观察到ng-src正在改变并指定为null但是src属性没有改变
答案 0 :(得分:1)
我认为您的问题是,当您将ng-src更改为null时,旧值将保留在图像源中。
这是正确的角度行为。您可以在此主题中找到详细信息:
https://stackoverflow.com/a/22094392/1649235
如果你通过这个线程,你也会找到一个解决方法,即不要把你的图像路径设为null,它应该是空的,把它等于'//:0'。