在Ember 2.x中传递路径之间的参数

时间:2016-09-02 07:32:59

标签: ember.js ember-router ember-2.0.0

从一条路线走到另一条路线时,我想传递一些数据(特别是数组)。怎么可能?

为什么我们不能将查询参数与数组一起使用?

在转换期间将数据存储在特定服务中是否存在问题?

注意: 我知道有一些旧问题与这个问题几乎相同。但他们选择的答案不再适用于Ember 2.x.这些问题包括:12

2 个答案:

答案 0 :(得分:1)

我不确定queryparams是否不能用于数组,因为我只使用单个ID,但即使它工作也不是一个好的解决方案,对参数发送的数量有限制并且您不应该使用您的数据打扰任何用户。

  1. 只需创建一个模型即可保存您的数据以供本地使用,因此您只需使用ember商店

  2. 使用您必须在每个想要使用数据的控制器中注入的服务

  3. 我更喜欢模型/商店变体,因此您可以观察并遵循正常流程,如果其他人必须维护您的代码,这也很好。

答案 1 :(得分:0)

<强>已更新

用“transition.data”测试后;不更新历史似乎对我们来说是一个问题。所以我们再次使用“queryParams”。约束是:不在路径之间传递复杂对象

OLD ANSWER

我正在使用transition对象进行操作,同时路由如下:

let transition = router.transitionTo(route, model);
transition.data[propName] = propValue;

我也写了一个组件来使用这个代码作为链接。