gpt4 book ai didi

javascript - Ember.js 嵌套文件夹,如路由(包含斜线)

转载 作者:数据小太阳 更新时间:2023-10-29 06:12:12 25 4
gpt4 key购买 nike

我正在使用 Ember.js 构建一个具有文件管理器功能的应用程序。我想要嵌套文件夹的 URL,格式为 ".../#/files/Nested/Inside/",它与 linkTo 一起工作正常;但是,如果我刷新(或直接转到 URL),我会收到错误消息“没有路由匹配 URL '/files/Nested/Inside'”。有没有办法让 Ember.js 在这种情况下工作?谢谢。

这是我当前的路线设置:

FM.Router.map(function() {
this.resource('folders', { path: '/files' })
this.resource('folder', { path: '/files/:path' })
})

FM.FoldersRoute = EM.Route.extend({
model: function() {
return FM.Folder.find('/')
}
})

FM.FolderRoute = EM.Route.extend({
model: function(params) {
return ns.Folder.find(params.path)
},
serialize: function(folder) {
return { path: folder.get('path') }
}
})

最佳答案

哇,有趣的问题。它应该是可能的,但我自己没有尝试过,也没有在野外看到任何这样的例子。

在引擎盖下,ember 使用 tildeio routerroute-recognizer解决路线。该路线的自述文件解释了如何 define more elaborate routes喜欢:

router.map(function(match) {
// this will match anything, followed by a slash,
// followed by a dynamic segment (one or more non-
// slash characters)
match("/*page/:location").to("showPage");
});

因此,为了让嵌套文件夹正常工作,您可以这样做:

FM.Router.map(function() {
this.resource('folders', { path: '/files' })
this.resource('folder', { path: '/files/*path' })
})

希望这对您有所帮助。

关于javascript - Ember.js 嵌套文件夹,如路由(包含斜线),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17048372/

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