我在现有路线下创建了一个嵌套路线。
Router.map(function(){
this.route('parentRoute', function(){
this.route('childRoute');
});
});
在嵌套之前,我将新嵌套的路由作为现在父路由的兄弟。那时,我能够使用常规方法加载资产
<img src="assets/images/profile/pic.svg" alt="" />
但是在创建嵌套路由之后,将上面的内容放在嵌套路由的模板中会给我一个400找不到文件的错误。
有什么建议吗?
答案 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}}
代替/
,但是如果您的应用的网址无关紧要将是网站的根