我想创建类似于Stackoverflow与共享按钮的内容:我想为共享创建一个短链接。现在我的链接可以采用以下3种形式:
s/51b9dd49065f905411000000/1
s/51b9dd49065f905411000000/51b9dd49065f905411000020/2
s/51b9dd49065f905411000000/51b9dd49065f905411000020/51b9dd49065f905611000020/3
我怎样才能让ember解释路线直到s/
然后把剩下的作为一些论点给我,这样我才能处理它并重建正确的路线?
答案 0 :(得分:1)
您可以使用星段。记录在案here
鉴于此申请:
App.Router.map(function() {
this.route('share', { path: 's/*linkPath' })
});
App.ShareRoute = Ember.Route.extend({
model: function(params) {
console.log(params.linkPath);
return params;
}
});
当网址以s/
开头并以任何结尾时结束。其余值将在名为linkPath
的变量中设置。
例如:
URL => params.linkPath content
-------------------------------------------------------------
s/51b9dd49065f905411000000/1 => "51b9dd49065f905411000000/1"
s/hey/ho/lets/go => "hey/ho/lets/go"
因此,在模型钩子中,您可以使用params.linkPath
来获取其余参数。
你可以在jsbin http://jsbin.com/OrEhAso/3/#/s/51b9dd490/51b9dd490/3中看到这个。打开控制台,您将记录字符串“51b9dd490 / 51b9dd490 / 3”。