ng-repeat中的角度img源

时间:2015-07-30 13:59:57

标签: ruby-on-rails angularjs angularjs-ng-repeat

我有一个ROR应用程序,我在客户端集成了一个小的angularJS(使用HAML作为模板)。 我有两个问题,我不确定如何解决:

  1. 我将我的图片放在“app / assets / javascripts / images /”下,是不是保留我的图像的正确位置? (请记住,我正在使用资产管道)
  2. 这是我的代码:

    .box{ "ng-repeat" => "s in treatments.services", "ng-show" => "true"}
      .category-title
        {{ s.category }}
      %img{"src" => "/assets/images/icon_{{ s.category }}.png"}
    
    1. 我有4个服务,一切看起来都很好,问题是我得到了404(Not Found)JS错误,看着开发者工具中的'network'选项卡(我正在使用chrome)我可以看到所有预期的获取请求foreach服务的类别I和一个EXTRA请求(导致js未找到错误的错误请求)到http://localhost:3001/assets/images/ 图标_ %7B%7B%20 类别%20%7D%7D **。PNG ** 这是一个有效的请求,我也可以看到: http://localhost:3001/assets/images/icon_xray.png 知道为什么会发生这种额外的获取请求吗?
    2. 谢谢!

1 个答案:

答案 0 :(得分:2)

src属性中的角度标记不起作用,标记将在源链接中使用。您应该使用ng-src

.box{ "ng-repeat" => "s in treatments.services", "ng-show" => "true"}
  .category-title
    {{ s.category }}
  %img{"ng-src" => "/assets/images/icon_{{ s.category }}.png"}

此处有更多信息:AngularJS: API: ngSrc

关于图片,通常应放在&app; / assets / images'下,然后从客户端使用' /assets/img.png'进行访问。