嵌套路径模板中的Ember资产已损坏

时间:2017-01-28 19:39:48

标签: ember.js

我在现有路线下创建了一个嵌套路线。

Router.map(function(){
 this.route('parentRoute', function(){
    this.route('childRoute');
  });
});

在嵌套之前,我将新嵌套的路由作为现在父路由的兄弟。那时,我能够使用常规方法加载资产

<img src="assets/images/profile/pic.svg" alt="" />

但是在创建嵌套路由之后,将上面的内容放在嵌套路由的模板中会给我一个400找不到文件的错误。

有什么建议吗?

1 个答案:

答案 0 :(得分:5)

将“/”放在资产前面:

<img src="/assets/images/profile/pic.svg" alt="" />

为什么:

如果src或href属性中的url以斜杠开头,浏览器会将其解释为“site root”。如果不是,浏览器会将其解释为“来自当前路径”。因此,如果当前URL是www.site.com/route-one/route-two,则“assets / images / profile / pic.svg”变为“/ route-one / route-two / assets / images / profile / pic。 SVG”。请查看this article以获得更好的解释和示例。

UPD :如果您使用的是2.x,最好使用{{rootURL}}代替/,但是如果您的应用的网址无关紧要将是网站的根