1

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

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

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

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

4

2 回答 2

1

我不确定 queryparams 是否不适用于数组,因为我只将它与单个 id 一起使用,但即使它有效,它也不是一个好的解决方案,你可以通过参数发送多少是有限制的,你应该不要用您的数据打扰任何用户。

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

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

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

于 2016-09-02T13:29:32.090 回答
0

更新

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

旧答案

transition在一个动作中为此目的使用对象,同时路由如下:

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

我还编写了一个组件来将此代码用作链接。

于 2016-09-06T18:50:36.190 回答