我在现有路线下创建了一个嵌套路线.
Router.map(function(){
this.route('parentRoute', function(){
this.route('childRoute');
});
});
Run Code Online (Sandbox Code Playgroud)
在嵌套之前,我将新嵌套的路由作为现在父路由的兄弟.当时,我能够使用常规方法加载资产
<img src="assets/images/profile/pic.svg" alt="" />
Run Code Online (Sandbox Code Playgroud)
但是在创建嵌套路由之后,将上面的内容放在嵌套路由的模板中会给我一个400找不到文件的错误.
有什么建议?
将"/"放在资产前面:
<img src="/assets/images/profile/pic.svg" alt="" />
Run Code Online (Sandbox Code Playgroud)
这是为什么:
如果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".请查看本文以获得更好的解释和示例.
UPD:如果您使用的是2.x,那么使用它{{rootURL}}代替可能更好/,但是如果您的应用的网址是网站的根目录并不重要