簡體   English   中英

在路由器中使用參數時出錯.push function vue-router 4

[英]error while using params in the router.push function vue-router 4

大家好,我是 vue js 的新手,我正在嘗試將參數傳遞給特定的路由器,當我單擊卡片研究時應該會發生這種情況,然后它將重定向到名為 actions-log 的研究詳細信息組件,但是當我調用它時路由器通過

this.$router.push({ name: "actions-log", params: { Id: "3" } })

它在控制台中給我一個錯誤說:

未捕獲(承諾中)錯誤:不匹配 {"name":"3","params":{}}

我的功能從研究重定向到研究細節

動作日志路由器

我的 index.js 路由配置

瀏覽器控制台中的錯誤

所以任何人都可以幫我解決這個錯誤......

您可以使用path

const routeId = 3

this.$router.push({ path: `/actions-log/${routeId}` })

我弄清楚發生了什么我有一個名為 pageTitle 的組件,該組件包含在我使用它來制作面包屑的所有其他組件中:

this.$route.fullPath

然后將其拆分並使用以下方法循環值:

<li><router-link></router-link></li>

要制作面包屑鏈接,但 vue 路由器的 fullPath 屬性也會返回參數,因此通過以下循環:

<router-link :to="{ name: {path} }">{{ path }}</router-link>

vue 檢查路由器是否以給定的名稱存在,例如,當我將 /actions-log/3 作為參數放入 url 時,它將設置在:to 屬性中,因為這種行為會引發該異常;

所以我認為我解決了以下計算函數中的問題: 獲取完整路徑的函數,然后將其拆分並使用這些值創建一個面包屑

模板中的循環

我不知道是否有人有更好的主意在 vue 中創建面包屑......無論如何,非常感謝你幫助我解決這個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM