首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将嵌套的资源控制器模型设置为父路由模型的子对象

将嵌套的资源控制器模型设置为父路由模型的子对象
EN

Stack Overflow用户
提问于 2013-06-28 22:31:04
回答 1查看 1.1K关注 0票数 1

这可能听起来有点令人困惑,但我会尽力解释一下。

我有一个loans路由,然后在它下面嵌套了一个名为product的资源。一个loan可以有多个产品,当您选择查看其中一个产品时,我会重定向到product嵌套资源。问题是我的应用程序支持处理未保存的数据。因此,最初创建新贷款时,您可以在不保存贷款的情况下添加新产品(我的贷款模型在产品上有一个hasMany属性),但是当我导航到产品路由时,我需要访问贷款路由上的贷款模型,并获取贷款当前拥有的所有产品,然后根据URL中的id找到一个,但我面临的问题是,当我获得贷款控制器时,其模型仍然为空,我猜这是因为贷款路由是在产品路由之后执行的。

我采取了错误的方法,还是有办法访问贷款模型?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-28 22:37:14

如果将loans控制器声明为依赖项,则应该能够从子控制器访问它的模型。

只需在产品控制器中添加needs: 'loans' (带有实际的loans路由名称),然后就可以像这样访问loans控制器:this.get('controllers.loans')

你可以在这里阅读更多内容:http://emberjs.com/guides/controllers/dependencies-between-controllers/

更新以完全解决原始问题

在ProductRoute中,您应该能够通过执行this.modelFor('loan')来访问父模型。确保使用在Router.map中声明的实际路由名称。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17367137

复制
相关文章

相似问题

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