Angular JS - Ng-Repeat问题

时间:2015-02-11 14:13:52

标签: javascript angularjs angularjs-ng-repeat

我正在定义我的数组:

$scope.tt=  [
  {
    "name" : "1",
    "sel" : false
  },
  {
    "name" : "2",
    "sel" : false
  },
  {
    "name" : "3",
    "sel" : false
  }
];

在我看来如此:

<div ng-repeat="mod in tt" ng- class="t text-center">
    <img src="images/tt/{{mod.name}}.png"/>
    <span class="tt">{{mod.name}}</span>

    <div class="overlay" ng-show="mod.sel">

      <div class="range-slider" data-slider data-options="start: 1; end: 10;">
        <span class="range-slider-handle" role="slider" tabindex="0"></span>
        <span class="range-slider-active-segment"></span>
        <input type="hidden">
      </div>

      <button>Ok</button>
      <button>Cancel</button>
    </div>


</div>

它工作并显示我的所有三个项目名称和相关图像,但随后出现错误:

获取http://localhost:63342/tt/images/tt/%7B%7Bmod.name%7D%7D.png 404(未找到)

好像有4件而不是3件?

是什么导致这种情况?

2 个答案:

答案 0 :(得分:3)

发生此错误是因为在角度启动并插入变量之前,浏览器正在加载src。这意味着{{mod.name}}按字面解释,并在您尝试加载时产生404s的URL。

你应该使用ng-src。 https://docs.angularjs.org/api/ng/directive/ngSrc

答案 1 :(得分:2)

你应该看到3个错误,每个项目一个。

原因是您使用src而不是ng-src,因此浏览器会立即尝试获取图片。改为:

<img ng-src="images/tt/{{mod.name}}.png"/>