首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ember-Router:从递归路径动态创建状态

Ember-Router:从递归路径动态创建状态
EN

Stack Overflow用户
提问于 2013-01-09 17:47:04
回答 2查看 284关注 0票数 4

我需要一种方法为成员路由器路由到递归路径。

代码语言:javascript
复制
For Example:
/:module
/:module/:submodule
/:module/:submodule/:submodule
/:module/:submodule/:submodule/...

使用Embers路由器可以做到这一点吗?如果可以,如何做到?

我一直在寻找例子,撕裂源代码,我几乎得出了结论,这是不可能的。

在前面的问题中,有人给我指出了一种手动获取url并将其拆分的方法,但我被困在创建路由器要解析到的状态。

到目前为止,在我的项目中,我目前只使用Ember.HashLocation来设置我自己的状态管理器。

之所以需要这样做,是因为模块定义存储在数据库中,并且在任何给定的点上,可以递归地添加子模块的子模块。因此,我正在尝试让应用程序引擎处理更改。

EN

回答 2

Stack Overflow用户

发布于 2013-01-09 21:52:52

数据库中的子模块是否没有唯一的ID?在我看来,与其在路径中表示您的层次结构,不如直接转到适当的模块或子模块。当然,层次结构仍然在您的数据模型中,但它不应该在您的路由方案中表示。只需使用:

代码语言:javascript
复制
/module/:moduleId
/submodule/:submoduleId

并且不要编码路由中的层次结构。我知道这样做可能很自然,但可能没有技术上的原因。

如果你的子模块没有唯一的ID,也许一个小的tougher...you可以通过将祖先ID连接在一起(比如,带下划线)来构建一个唯一的ID,这类似于拆分URL,但可能更简洁一些。我要说的是,Ember/Ember Data似乎不太容易与具有组合键的实体一起使用--如果一切都有一个简单的数字键,一切都会变得更容易(任何人想在这方面与我争论,请向我解释一下是如何做到的!)。

票数 1
EN

Stack Overflow用户

发布于 2013-01-09 17:50:53

你的意思是这样的:

代码语言:javascript
复制
App.Router.map(function(match) {
  match('/posts').to('blogPosts');
  match('/posts/:blog_post_id').to('showBlogPost');
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14232322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档