1. 程式人生 > >vue.js通過路由跳轉傳參,重新整理頁面引數丟失

vue.js通過路由跳轉傳參,重新整理頁面引數丟失

問題:vue.js路由跳轉,跳轉頁面重新整理後引數丟失,沒有資料,怎麼解決??

出現的情況:從新聞列表頁面進入某一條新聞得詳情頁,需要在路由跳轉時給詳情頁面傳送該條新聞得ID,然後詳情頁獲取ID想後臺請求資料將內容展示,還有商品詳情頁等等~

下面寫了一個小例子,是模擬專案的新聞列表和詳情頁,樣式什麼的隨便

新聞列表頁  -  點選新聞1 - 跳轉到新聞1的詳情頁 ,但是重新整理新聞詳情頁,獲取到的id資料沒有了~   

         

新聞列表頁面:部分程式碼,list是後臺獲取的資料,跳轉時將引數ID傳給details頁面

<template>
    <div id="list">
        <ul>
            <li v-for="(item,index) in list" :key="index">
                <router-link :to="{name:'details',params:{id:item.id}}">
                    {{item.title}} <br/>
                    {{item.id}}
                </router-link>
            </li>
        </ul>
    </div>
</template>

新聞詳情頁:部分程式碼

<template>
    <div id="details">
        <ul>
            <li>
                新聞{{this.$route.params.id}} &nbsp;
                的詳情頁
            </li>
        </ul>
    </div>
</template>

解決一:可以解決重新整理之後,獲取到的資料消失,重新整理之後,位址列後面依然有id

位址列:

http://localhost:8080/#/details/1

{
    path: '/details/:id',
    name: 'details',
    component: details
},

上述方法是專案結束後,發現的解決辦法

解決二:專案中的時候,我是將id存在localStorage中,也可以解決路由傳參重新整理後,詳情頁獲取不到資料的問題~