簡體   English   中英

Vue路由器參數未在頁面中更新

[英]Vue Router params not updating in page

您好,根據當前頁面,我的視圖中有一些條件邏輯

在設置中我有

const curVidType = ref(route.params.videoTopic);

我退回它然后打印出來

<h1>Welcome to  {{ curVidType }} videos</h1>

但是,它僅在我刷新時才有效。 如果我瀏覽到新頁面,即使瀏覽器 url 發生變化,它仍然是舊頁面。 刷新后更新。 非常感謝您的幫助

您將變量初始化為 const,這意味着它執行一次然后不設置它。 如果將 curVidType 更改為計算值,則可以讓它對路由器參數中的更改做出反應。

computed: {
  curVidType() {
    return route.params.videoTopics
  }
}

這將設置 curVidType 的值,以在 videoTopics 執行時更改

編輯:

閱讀評論並查看評論並閱讀一些文檔后, ref() 將創建一個反應式 object 但我不確定它是否對原始 object 做出反應。 但看起來toRef() function 可以創建那個橋。

const curVidType = toRef(route.params, 'videoTopics')

應該允許 curVidType.value 也反映對 route.params.videoTopics 的更改

如果您可以與我們分享更多代碼以幫助您,那就太好了。 這應該可以正常工作

<template>
{{ curVidType }}
</template>

<script>
import { useRoute } from 'vue-router';

export default {
    setup() {
        const { params } = useRoute();
        const curVidType = params.videoTopic

        return {
            curVidType,
        };
    },
};
</script>

嘗試將:key添加到您的組件中,以確保它在參數更改時更新:

<your-component :key="$route.params.videoTopic"></your-component>

暫無
暫無

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

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