0

我想创建类似于 Stackoverflow 的分享按钮的东西:我想为分享创建一个短链接。现在我的链接可以采用以下 3 种形式:

s/51b9dd49065f905411000000/1
s/51b9dd49065f905411000000/51b9dd49065f905411000020/2
s/51b9dd49065f905411000000/51b9dd49065f905411000020/51b9dd49065f905611000020/3

我怎样才能让 ember 只解释路线,s/然后把剩下的作为一些论据给我,以便我可以处理它并重建正确的路线?

4

1 回答 1

1

您可以使用星段。这记录在这里

鉴于此应用程序:

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 http://jsbin.com/OrEhAso/3/#/s/51b9dd490/51b9dd490/3中看到这一点。打开控制台,您将记录字符串“51b9dd490/51b9dd490/3”。

于 2013-10-07T23:50:37.900 回答