亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 Vue.js 中傳遞 $router.push 中的數組?

如何在 Vue.js 中傳遞 $router.push 中的數組?

PHP
Qyouu 2022-07-16 16:18:12
我想通過 VUE 的功能將數據傳遞到單擊按鈕的新頁面。我嘗試使用路由器方法做這件事,但我無法發送數組,它只是允許我用它發送一個字符串。this.$router.push({    name: "SalesInvoice",    params: { SalesInvoice: this.stockmaster }  });這件事不起作用,因為 stockmaster 是一個數組。this.$router.push({    name: "SalesInvoice",    params: { SalesInvoice: "abc" }  });我對字符串做了同樣的事情,它奏效了。那么有什么方法可以使用 vue 方法將數組發送到下一頁。
查看完整描述

2 回答

?
鳳凰求蠱

TA貢獻1825條經驗 獲得超4個贊

只需添加我的評論作為答案,以便其他人將來可以輕松獲得它。


當您嘗試將數組、對象或對象數組傳遞給路由器時,您應該首先stringify使用您的數據JSON.stringify并將其傳遞給路由器。然后您可以訪問它并將其解析回JSONwith JSON.parse。對于上述特殊情況,應執行以下操作


this.$router.push({

    name: "SalesInvoice",

    params: { SalesInvoice: JSON.stringify(this.stockmaster) }

  });


查看完整回答
反對 回復 2022-07-16
?
qq_花開花謝_0

TA貢獻1835條經驗 獲得超7個贊

作為參考,我不建議使用JSONas URL 參數,而是使用query參數。如果要將數據從一個請求發送到下一個請求,通常使用查詢參數而不是路由參數。


在您的情況下,將代碼更改為


this.$router.push({

    name: "SalesInvoice",

    query: { SalesInvoice: "abc" }

  });

然后,您可以將您的路線定義更改為這樣的


{

  path: 'sales-invoice', 

  name: 'SalesInvoice',

}

看,路徑中沒有更多:SalesInvoice內容了。不再需要路由參數,因為您現在通過查詢參數將數據提供給新路由。您可以使用任意數量的查詢參數(實際上是 URL 允許的最大長度),而無需在路由定義中定義它們。這為您提供了更大的靈活性。


您可以使用類似于訪問路由參數的查詢參數this.$route.query.SalesInvoice。


查看完整回答
反對 回復 2022-07-16
  • 2 回答
  • 0 關注
  • 578 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號