從一個路由到另一個路由時,我想傳遞一些數據(特別是數組)。這怎麼可能?在Ember 2.x中路由傳遞參數
爲什麼我們不能在數組中使用query-params?
轉換過程中存儲數據在特定服務中是否存在問題?
注: 我知道有一些老問題,這些問題幾乎與這個問題相同。但他們選擇的答案不適用於Ember 2.x.這些問題是:1,2。
從一個路由到另一個路由時,我想傳遞一些數據(特別是數組)。這怎麼可能?在Ember 2.x中路由傳遞參數
爲什麼我們不能在數組中使用query-params?
轉換過程中存儲數據在特定服務中是否存在問題?
注: 我知道有一些老問題,這些問題幾乎與這個問題相同。但他們選擇的答案不適用於Ember 2.x.這些問題是:1,2。
我不確定queryparams是否不能與數組一起工作,因爲我只使用它與單個ID,但它不會是一個很好的解決方案,即使它工作,有限制您可以發送多少參數,你不應該打擾任何用戶的數據。
只需創建一個模型來保存你的本地使用的數據,所以你可以簡單地使用餘燼店
使用服務you'll在你想使用你的數據的每個控制器注入
我寧願模型/存儲變種所以you'll能夠觀察到,只是按照正常的流程,這也是很好的,如果別人有,以保持你的代碼。
修訂
用 「transition.data」 測試後;沒有更新歷史似乎是我們的問題。所以我們再次使用「queryParams」。約束是:不動作傳遞路線
OLD ANSWER
我使用transition
對象之間的複雜的對象爲這一目的而路由如下所示:
let transition = router.transitionTo(route, model);
transition.data[propName] = propValue;
另外我寫了一個組件來使用這段代碼作爲鏈接。
你想使用查詢參數而不是商店的原因是因爲你使用書籤/共享URL的能力。 – tarponjargon