gpt4 book ai didi

Ember.js:过渡到路由,然后到动态段

转载 作者:行者123 更新时间:2023-12-02 06:27:24 24 4
gpt4 key购买 nike

我有一个设置了帐户和 account/:account_id 选项的路由器。当用户登陆我的应用程序的索引页面时,我将它们转换到帐户路径。

Social.Router.map(function() {
this.resource('accounts', function(){
this.resource('account', { path: ':account_id'});
});
});

Social.IndexRoute = Ember.Route.extend({
redirect: function() {
this.transitionTo('accounts');
}
});

我想做的是根据某些条件将它们转换到指定的 :account_id 路由。目前我只想获取数组中的第一个帐户并使用它。但在未来,这可能是一种将他们转移到他们最后查看的帐户的方法。像这样的事情:

Social.IndexRoute = Ember.Route.extend({
redirect: function() {
this.transitionTo('accounts/:account_id');
}
});

文档提供了“详细信息”,但没有提供示例,仅提供以下内容:

transitionTo (name, models)

Transition into another route. Optionally supply a model for the route in question. The model will be serialized into the URL using the serialize hook.

我尝试过以下方法:

this.transitionTo('accounts/4');
Uncaught Error: assertion failed: The route accounts/4 was not found

this.transitionTo('accounts', Social.Account.find(1));
Uncaught More objects were passed than dynamic segments

最佳答案

我将其他人的答案和一些摆弄放在一起,得出了这个答案:

定义您的路线,例如:

this.resource('accounts', function () {
this.route('account', {path: '/:account_id'});
});

重定向:

this.transitionTo('accounts.account', accountObj);

但是如果您从服务器加载,则需要在重定向之前加载 accountObj 对象:

var accountObj = App.Account.find(1);
accountObj.one('didLoad', this, function () {
this.transitionTo('accounts.account', accountObj);
});

我设置了this fiddle有完整的例子

关于Ember.js:过渡到路由,然后到动态段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15100499/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com