当用户到达包含对象时,我想将用户重定向到集合的第一个对象的路由。
一个容器hasMany
项,当前位于我正在做的ContainerRoute.afterModel
中:
this.transitionTo('container.item.index', model, model.get('items').get('firstObject'));
当项目不异步时,这很好。
问题是第一个对象不是一个 promise ,所以 route/transition doesn't pause 。
这是模型
Hook :
return this.get('store').find('container', params.containerId);
最干净的方法是什么?我看到的选项是:
- 更改模型 Hook 以填充
- 构建 Promise 并将其作为参数传递给transitionTo
- transition到对象的ID而不是对象(现在为此编写解决方案)
最佳答案
transitionTo 可以采用一个对象(实际的或 promise 的)或 ID。
我选择仅在 ContainerRoute
中发送 ID:
this.transitionTo('container.item.index', model, model.get('firstItemId'));
您可以通过访问以下内容来获取 ID,而无需膨胀对象:
this.get('data.submissions.firstObject.id');
关于javascript - EmberJS 异步的过渡到firstObject hasMany,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20006605/