gpt4 book ai didi

javascript - Ember.js 路由 : match end of url

转载 作者:搜寻专家 更新时间:2023-11-01 04:19:20 25 4
gpt4 key购买 nike

我需要将路径与 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.subpath=README
  • /myrepo/files/folder/README 将匹配 root.repo.files.sub 并将我重新路由到 /myrepo/files/folder/ 因为 path=folder 而不是 path=folder/README

我怎样才能让子路由匹配 URL 的末尾 :path ,即使其中是否有斜线?

最佳答案

此功能已committed到 Ember.js 存储库的 master分支。它不在 1.0.0-pre2 构建中,因此在发布新版本之前,您需要 build Ember.js yourself或查找预构建版本。

基本用法

不要在动态段前面加上冒号 :,而是使用星号 *。您的路线将使用类似于以下的语法:

Ember.Route.extend({
route: '/:repo_id/files/*path'
});

路径段将可用,就好像它是一个普通的动态属性一样。但是,它将包含 URL 中 files/ 之后的所有内容,包括斜杠。

关于javascript - Ember.js 路由 : match end of url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11151423/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com