【发布时间】:2017-01-10 05:40:33
【问题描述】:
从一条路线转到另一条路线时,我想传递一些数据(特别是数组)。怎么可能?
为什么我们不能对数组使用查询参数?
过渡期间在特定服务中存储数据是否有问题?
【问题讨论】:
标签: ember.js ember-router ember.js-2
从一条路线转到另一条路线时,我想传递一些数据(特别是数组)。怎么可能?
为什么我们不能对数组使用查询参数?
过渡期间在特定服务中存储数据是否有问题?
【问题讨论】:
标签: ember.js ember-router ember.js-2
我不确定 queryparams 是否不适用于数组,因为我只将它与单个 id 一起使用,但即使它有效,它也不是一个好的解决方案,你可以通过参数发送多少是有限制的并且您不应该用您的数据打扰任何用户。
只需创建一个模型来保存您的数据以供本地使用,这样您就可以简单地使用 ember 商店
使用您必须在每个控制器中注入的服务,以使用您的数据
我更喜欢模型/商店变体,这样您就可以观察并遵循正常流程,如果其他人必须维护您的代码,这也很好。
【讨论】:
更新
使用“transition.data”测试后;不更新历史对我们来说似乎是个问题。所以我们再次使用“queryParams”。约束是:不要在路由之间传递复杂的对象
老答案
我在一个动作中使用transition对象来实现这个目的,同时路由如下:
let transition = router.transitionTo(route, model);
transition.data[propName] = propValue;
我还编写了一个组件来将此代码用作链接。
【讨论】: