我有一个促销块,其中包含多个图片和链接。其中一些是通往我的网站,一些是外部资源。目前,我使用这段代码进行此链接。
<a {{ bindAttr href="link" }}><img {{ bindAttr src="image" }} /></a>
然而,这实际上重新加载了一个页面,我不希望这样,以防我在我的网站内导航。此外,如果我们遇到一些不存在的路线,如果有拼写错误或其他原因,它可能意味着破坏我的应用程序。
所以,我要做的是添加一个动作,检查路由是否存在,然后做一个正确的transitionTo
,如果路由不存在,做某种默认的回退,但我不要我不知道怎么做这个检查。有没有人做过类似的事情?
P.S。我知道transitionTo
可以接受网址作为参数,但是Ember文档说
It is also possible to pass a URL (a string that starts with a /).
This is intended for testing and debugging purposes
and should rarely be used in production code.
如果路线不存在,则无法防止过渡。
答案 0 :(得分:0)
您可以拥有一条默认路线,这将是一个“全能”的路线。您将在路由器中指定的内容如下:
this.route('badRoute', {path: '/*pathname' });
宣布完所有路线后,在底部。如果您的路线都不匹配,则会匹配,您可以重定向或转换到该路线时的任何路线。