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

前端之家收集整理的这篇文章主要介绍了javascript – Ember.js路由:匹配url的结尾前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我需要将路径匹配到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'
});

路径段将可用,就像它是正常的动态属性一样.但是,它将包含URL中的文件/之后的任何内容,包括斜杠.

猜你在找的JavaScript相关文章