我很乐意使用RouteInitializerFn
在Angular.dart中设置路线但我无法设置'404'路线。也就是说,当用户访问不匹配的路线时,应该将其重定向到404.html页面。
myRouter(Router router, ViewFactory view) {
view.configure({
'home' : ngRoute(
defaultRoute : true,
view : './home.html' // visiting www.mysite.com will load this view
),
'user' : ngRoute(
path : '/user',
view : './user.html'
),
'every-other-route' : ngRoute(
path : '*', // apparently wildcard route matching doesn't work in angular
view : '404.html'
)
任何想法都得到其他所有路线加载404.html页面?
答案 0 :(得分:1)
defaultRoute设置为true的路由(如果有)是在没有其他模式匹配时匹配的路由。
根据您的情况,您需要将defaultRoute属性从“home”路由移动到“every-other-route”路由,并从“every-other-route”中删除通配符路径,并且可能会给出家乡路线。
这应该会给你带来类似的东西:
myRouter(Router router, ViewFactory view) {
view.configure({
'home' : ngRoute(
path: '/',
view : './home.html' // visiting www.mysite.com will load this view
),
'user' : ngRoute(
path : '/user',
view : './user.html'
),
'every-other-route' : ngRoute(
defaultRoute: true
view : '404.html'
)
});
}