Ember.js路由:匹配url的结尾

noi*_*rre 5 javascript url-routing ember.js

我需要将路径匹配到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'
                    })
                })
            })
        })
    })
});
Run Code Online (Sandbox Code Playgroud)

有了这个路由器:

  • /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

:path即使有斜杠,我怎样才能使子路径与URL的末尾匹配?

noi*_*rre 1

Ember.js Github Tracker 上有一个未解决的问题: https://github.com/emberjs/ember.js/issues/1451