Ember.js 具有部分解释路由的Emberjs路由器
我想创建一个类似Stackoverflow的共享按钮:我想为共享创建一个短链接。现在我的链接可以采用以下3种形式:Ember.js 具有部分解释路由的Emberjs路由器,ember.js,ember-router,Ember.js,Ember Router,我想创建一个类似Stackoverflow的共享按钮:我想为共享创建一个短链接。现在我的链接可以采用以下3种形式: s/51b9dd49065f905411000000/1 s/51b9dd49065f905411000000/51b9dd49065f905411000020/2 s/51b9dd49065f905411000000/51b9dd49065f905411000020/51b9dd49065f905611000020/3 如何让ember只解释路线直到s/,然后将其余部分作为参数
s/51b9dd49065f905411000000/1
s/51b9dd49065f905411000000/51b9dd49065f905411000020/2
s/51b9dd49065f905411000000/51b9dd49065f905411000020/51b9dd49065f905611000020/3
如何让ember只解释路线直到
s/
,然后将其余部分作为参数提供给我,以便我可以处理它并重建正确的路线?您可以使用星型分段。这是有案可查的
鉴于此应用程序:
App.Router.map(function() {
this.route('share', { path: 's/*linkPath' })
});
App.ShareRoute = Ember.Route.extend({
model: function(params) {
console.log(params.linkPath);
return params;
}
});
当url以s/
开头并以任何内容结尾时。剩余值将设置在名为linkPath
的变量中
例如:
URL => params.linkPath content
-------------------------------------------------------------
s/51b9dd49065f905411000000/1 => "51b9dd49065f905411000000/1"
s/hey/ho/lets/go => "hey/ho/lets/go"
因此,在模型钩子中,可以使用params.linkPath
获取其余参数
您可以在jsbin中看到这一点。打开控制台,将记录字符串“51b9dd490/51b9dd490/3”