1

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

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

我采取了错误的方法,或者有没有办法访问贷款模型?

4

1 回答 1

2

如果您将其声明为依赖项,您应该能够从子控制器访问贷款控制器及其模型。

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

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

更新以完全解决原始问题

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

于 2013-06-28T14:37:13.913 回答