gpt4 book ai didi

如果没有提供,ember.js 显示默认的嵌套路由

转载 作者:行者123 更新时间:2023-12-04 16:44:50 28 4
gpt4 key购买 nike

在我的 ember 应用程序(1.0.0 生产版本)中,我的 URL 结构如下:

/item
/item/{specific-item-name-defined-in-routes}

路由器映射看起来有点像这样:
App.Router.map(function () {
this.resource("item", function () {
this.resource("my-first-item");
this.resource("another-item");
...
});
});

如果用户导航到 /item我想显示一个特定的帖子(例如 /item/my-first-item )。我可以使用 redirect 来做到这一点路线方法:
App.ItemRoute = Ember.Route.extend({
redirect: function () {
this.transitionTo('my-first-item');
}
});

不幸的是,如果我在地址栏中手动输入 URL /item/another-item,则使用这种方法。或直接导航至 /item/another-item该应用程序将我重定向到 /item/my-first-item .如果我只是在嵌套路由之间进行更改(即通过单击应用程序中的链接,它会正确加载)。

仅当未提供嵌套路由时,如何才能使重定向工作?

最佳答案

将重定向 Hook 添加到(自动生成的)ItemIndexRoute,而不是重定向项目路由:

App.ItemIndexRoute = Ember.Route.extend({
redirect: function () {
this.transitionTo('my-first-item');
}
});

关于如果没有提供,ember.js 显示默认的嵌套路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18689446/

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