【问题标题】:Angularjs variable value is not updatingAngularjs变量值没有更新
【发布时间】:2014-12-14 06:21:20
【问题描述】:

我正在使用带有引导模式的角度,我有一个 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 属性没有改变

【问题讨论】:

  • 所以在第二次点击时,id 发生了变化,但显示的是之前的图像?
  • 是的 id 正在改变,但图像没有改变
  • 可以加个fiddle或者jsbin吗?
  • 我会尝试做一个小提琴,直到那时我才观察到 ng-src 正在改变并分配给 null 但 src 属性没有改变

标签: javascript jquery angularjs twitter-bootstrap angularjs-scope


【解决方案1】:

我认为您的问题是,当您将 ng-src 更改为 null 时,旧值会保留在图像源中。

这是正确的角度行为。您可以在此线程上找到详细信息:

https://stackoverflow.com/a/22094392/1649235

如果您浏览此线程,您还将找到一种解决方法,即不要将您的图像路径设置为 null 应该为空的位置,将其设置为 '//:0'。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-29
    • 2016-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-06
    • 2022-01-20
    相关资源
    最近更新 更多