我想创建类似于Stackoverflow使用共享按钮的东西:我想为共享创建一个短链接。现在我的链接可以采用以下 3 种形式:
s/51b9dd49065f905411000000/1
s/51b9dd49065f905411000000/51b9dd49065f905411000020/2
s/51b9dd49065f905411000000/51b9dd49065f905411000020/51b9dd49065f905611000020/3
我怎样才能让余烬只解释路线,直到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;
}
});
当网址以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"。