日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

Vue多個路由綁定同一組件造成created不執(zhí)行的解決辦法。

具體開發(fā)中遇到的需求是:

多個頁面調(diào)用同一組件,通過傳參獲取不同的數(shù)據(jù)展示在頁面上。多個路由映射到同個組件,只是傳參不同,頁面切換不會觸發(fā)組件的創(chuàng)建cteated方法,怎么辦?

這里貼出官方給出的解決辦法:

https://router.vuejs.org/zh-cn/essentials/dynamic-matching.html#%E5%93%8D%E5%BA%94%E8%B7%AF%E7%94%B1%E5%8F%82%E6%95%B0%E7%9A%84%E5%8F%98%E5%8C%96


通過watch(監(jiān)測變化) $route 對象,將獲取數(shù)據(jù)的方法寫在watch里


后來具體我們嘗試了以下幾種方法都可實現(xiàn):

方法一:query傳參

router.js(路由配置)

{
    path: '/back',
    redirect: '/back/yjzx',
    component: viewport,
    children: [
        { path: 'yjzx', name: 'yjzx', component: article }
    ]
}

Vue(其他頁面調(diào)用)

<router-link :to="{name:'yjzx', query: {type: '1'}}" tag="li"><!--多個router-link的name一樣或不一樣都可,因為帶的參數(shù)不一樣-->
    <i class="fa fa-list-ul fa-fw"></i>
    <span>業(yè)界資訊</span>
</router-link>

Vue(頁面代碼)

watch: {
    '$route' (to, from) {
        console.log(this.$route.query)
    }
},

方法二:params傳參

router.js(路由配置)

{
    path: '/back',
    redirect: '/back/yjzx',
    component: viewport,
    children: [
        { path: 'yjzx', name: 'yjzx', component: article }
    ]
}

Vue(其他頁面調(diào)用)

<router-link :to="{name:'yjzx', params: {type: '1'}}" tag="li"><!--多個router-link的name必須不一樣,因為參數(shù)是以POST方式傳遞-->
    <i class="fa fa-list-ul fa-fw"></i>
    <span>業(yè)界資訊</span>
</router-link>

Vue(頁面代碼)

watch: {
    '$route' (to, from) {
        console.log(this.$route.params)
    }
},

方法三:通過變量傳參

router.js(路由配置)

{
    path: '/back',
    redirect: '/back/yjzx/:type',
    component: viewport,
    children: [
        { path: 'yjzx/:type', name: 'yjzx', component: article }
    ]
}

Vue(其他頁面調(diào)用)

<router-link :to="{path:'/back/yjzx/1'}" tag="li"><!--多個router-link的name一樣或不一樣都可,因為參數(shù)不同-->
    <i class="fa fa-list-ul fa-fw"></i>
    <span>業(yè)界資訊</span>
</router-link>

Vue(頁面代碼)

watch: {
    '$route' (to, from) {
        console.log(this.$route.params)
    }
},

3種方式都實踐過,都可以實現(xiàn),看個人的愛好和項目情況來定吧。


分享到:
標簽:Vue多個路由 綁定同一組件 created不執(zhí)行 解決辦法
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定