我需要将路径匹配到URL.在给定模式之后,路径必须是URL的结尾,但我不能这样做.
Ember.js总是与下一个斜线匹配.
var router = Ember.Router.extend({
location: 'history',enableLogging: true,root: Ember.Route.extend({
index: Ember.Route.extend({
route: '/'
repo: Ember.Route.extend({
route: '/:repo_id',index: Ember.Route.extend({
route: '/'
}),files: Ember.Route.extend({
route: '/files',index: Ember.Route.extend({
route: '/'
}),sub: Ember.Route.extend({
route: '/:path'
})
})
})
})
})
});
有了这个路由器:
> / myrepo / files /将匹配root.repo.files.index
> / myrepo / files / README将root.repo.files.sub与path = README匹配
> / myrepo / files / folder / README将匹配root.repo.files.sub并将我重新路由到/ myrepo / files / folder /因为path = folder而不是path = folder / README
我怎样才能让子路由与URL的末尾匹配:path即使有斜杠也没有?
最佳答案
此功能已经到了Ember.js存储库的master分支committed.它不在1.0.0-pre2版本中,因此在发布新版本之前,您需要build Ember.js yourself或找到预建版本.
基本用法
不要使用冒号前缀动态段:,使用星号*.您的路线将使用类似于以下语法:
Ember.Route.extend({
route: '/:repo_id/files/*path'
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。