emberjs对一条路线使用多个路径/ URL

马特

在Ember中,我可以使用以下代码:

App.Router.map(function() {
    this.route('accomodations');
});

因此,如果转到/ accomodations,它将加载该视图。

我还可以添加:

App.Router.map(function() {
    this.route('accomodations', { path: '/travel' });
});

因此,如果一个人去/ travel,它将进入相同的视图。

我希望能够使/ accomodations和/ travel转到同一视图?这可能吗?

我知道这:

App.Router.map(function() {
    this.route('accomodations');
    this.route('accomodations', { path: '/travel' });
});

将按照我的要求进行,但是如果他们去住宿,则应在网址中显示,它始终显示旅行。我什至不确定最后的代码是否是最佳实践。

布吉兹

使用重定向

router.js

App.Router.map(function() {
    this.route('accomodations');
    this.route('travel');
});

routes/travel.js

App.TravelRoute = Ember.Route.extend({
    redirect: function() {
        this.transitionTo('accomodations');
    },
});

您不必将它们放在单独的文件中(这就是我要放置它们的位置)。

这是在路由器上注册两条路由。选择其中一个作为“主要”路线,另一个作为“别名”路线。在这种情况下,accomodation是主要路线,travel也是其别名。用户访问时/travel,他们将重定向到/accomodation

这将是完成此操作的默认/标准Ember方法,如果这对您来说听起来不错,那就去做吧。

另一种可能的解决方案

如果由于某种原因您不希望发生重定向,并且希望用户看到的URL保持不变,但仍显示相同的内容并以相同的方式运行,则这也是可能的。

在这种情况下,您将在每个Ember单元中创建两个(路由,控制器,视图,模板)。聪明的方法是创建一个基类的路线,并同时拥有App.TravelRouteApp.AccomodationRoute平凡扩展它; 创建一个基类控制器,并且同时具有App.TravelControllerApp.AccomodationController平凡延伸它; 对于视图,如果有的话,也是如此。

模板OTOH有点棘手,因为无法扩展它们(据我所知)。因此,您需要做的是创建部分或组件(确定哪个更适合您),然后在两者中重用该部分/组件templates/accomodation.hbstemplates/travel.hbs

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在角度 5 中将一条路线导航到另一条路线时如何解码 URL?

来自分类Dev

我可以在Play Framework 2.x中为一条路线定义一个动作的多个URL吗?

来自分类Dev

骨干返回最后一个URL-似乎无法触发最后一条路线或哈希

来自分类Dev

一条路线中的多个控制器

来自分类Dev

使用Ember.js在一条路线中进行多步骤表单(或多个“页面”)

来自分类Dev

使用Ember.js的一条路线中的多步骤表单(或多个“页面”)

来自分类Dev

一条路线的gzip响应

来自分类Dev

Talend ESB:如何从另一条路线呼叫一条路线?

来自分类Dev

从另一条路线到一条路线的快速调用GET方法

来自分类Dev

阿帕奇骆驼(Apache Camel),从另一条路线调用一条路线

来自分类Dev

如何在Express应用中获取下一条路线的路径

来自分类Dev

一条路线上有多个控制器

来自分类Dev

如何在一条路线中处理多个响应?

来自分类Dev

一条路线上有多个控制器

来自分类Dev

用瓶子在一条路线上处理多个帖子

来自分类Dev

流星铁路由器。一条路线,多个模板。如何?

来自分类Dev

我想为将有多个转弯的方向绘制一条路线

来自分类Dev

如何判断一条路径是否是另一条路径的祖先?

来自分类Dev

如何判断一条路径是否是另一条路径的祖先?

来自分类Dev

Paper.js从一条路径绘制多个平行路径

来自分类Dev

Paper.js从一条路径绘制多个平行路径

来自分类Dev

如何从一条Laravel路线转换为另一条路线的价值

来自分类Dev

将开放模式作为另一条路线上的一条单独路线

来自分类Dev

如何测试一条路线不起作用?

来自分类Dev

如何更改到下一条路线

来自分类Dev

以编程方式转到上一条路线

来自分类Dev

进入另一条路线的商店

来自分类Dev

如何订阅第一条路线

来自分类Dev

从服务导航到另一条路线

Related 相关文章

  1. 1

    在角度 5 中将一条路线导航到另一条路线时如何解码 URL?

  2. 2

    我可以在Play Framework 2.x中为一条路线定义一个动作的多个URL吗?

  3. 3

    骨干返回最后一个URL-似乎无法触发最后一条路线或哈希

  4. 4

    一条路线中的多个控制器

  5. 5

    使用Ember.js在一条路线中进行多步骤表单(或多个“页面”)

  6. 6

    使用Ember.js的一条路线中的多步骤表单(或多个“页面”)

  7. 7

    一条路线的gzip响应

  8. 8

    Talend ESB:如何从另一条路线呼叫一条路线?

  9. 9

    从另一条路线到一条路线的快速调用GET方法

  10. 10

    阿帕奇骆驼(Apache Camel),从另一条路线调用一条路线

  11. 11

    如何在Express应用中获取下一条路线的路径

  12. 12

    一条路线上有多个控制器

  13. 13

    如何在一条路线中处理多个响应?

  14. 14

    一条路线上有多个控制器

  15. 15

    用瓶子在一条路线上处理多个帖子

  16. 16

    流星铁路由器。一条路线,多个模板。如何?

  17. 17

    我想为将有多个转弯的方向绘制一条路线

  18. 18

    如何判断一条路径是否是另一条路径的祖先?

  19. 19

    如何判断一条路径是否是另一条路径的祖先?

  20. 20

    Paper.js从一条路径绘制多个平行路径

  21. 21

    Paper.js从一条路径绘制多个平行路径

  22. 22

    如何从一条Laravel路线转换为另一条路线的价值

  23. 23

    将开放模式作为另一条路线上的一条单独路线

  24. 24

    如何测试一条路线不起作用?

  25. 25

    如何更改到下一条路线

  26. 26

    以编程方式转到上一条路线

  27. 27

    进入另一条路线的商店

  28. 28

    如何订阅第一条路线

  29. 29

    从服务导航到另一条路线

热门标签

归档