欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue路由組件通過props配置傳參的實現(xiàn)

 更新時間:2022年06月08日 11:04:35   作者:敦厚的曹操  
本文主要介紹了Vue路由組件通過props配置傳參的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

本文主要介紹了 Vue路由組件通過props配置傳參的實現(xiàn),分享給大家,具體如下:

一、基于params參數(shù)傳遞

1、index.js(路由配置)

props:true

// 引入路由
// eslint-disable-next-line no-unused-vars
import VueRouter from 'vue-router'
import Box_1 from '../pages/Box_1.vue'
import Box_2 from '../pages/Box_2.vue'
import Menu_1 from '../pages/Menu_1.vue'
import Menu_2 from '../pages/Menu_2.vue'
 
 
// 創(chuàng)建一個路由器
 
export default new VueRouter({
    routes: [
 
        {
            path: '/Box_1',
            component: Box_1,
            children: [
                {
                    name: 'myMenu',  // 用name代替路徑
                    path: 'Menu_1',
                    component: Menu_1,
                    props:true
                },
                {
                    path: 'Menu_2',
                    component: Menu_2
                },
            ]
        },
        {
            path: '/Box_2',
            component: Box_2,
            children: [
                {
                    path: 'Menu_1',
                    component: Menu_1
                },
                {
                    path: 'Menu_2',
                    component: Menu_2
                },
 
            ]
        },
    ]
 
 
})

2、Box_1.vue(父路由組件 - 發(fā)送參數(shù))

<template>
  <div class="m_box">
    <div class="top">
      <!-- 路由跳轉(zhuǎn)鏈接 -->
      <router-link class="box_1" active-class="active"
        :to="{
          name:'myMenu',
          params:{
            id:id,
            name:name
          }
        }">
        菜單1
      </router-link>
      <!-- 路由跳轉(zhuǎn)鏈接 -->
      <router-link class="box_2" to="/Box_1/menu_2" active-class="active">
        菜單2
      </router-link>
    </div>
    <div class="bottom">
      <!-- 我是Box_1組件! -->
      <router-view></router-view>
    </div>
  </div>
</template>
 
<script>
export default {
  name: "Box_1",
  data(){
    return {
      id:"666",
      name:"我是Box_1組件傳過來的參數(shù)"
    }
  }
};
</script>
 

 3、Menu_1.vue(子路由組件 - 接收參數(shù))

<template>
  <div class="m_box">
    <div class="top">
      <!-- 路由跳轉(zhuǎn)鏈接 -->
      <router-link class="box_1" active-class="active"
        :to="{
          name:'myMenu',
          params:{
            id:id,
            name:name
          }
        }">
        菜單1
      </router-link>
      <!-- 路由跳轉(zhuǎn)鏈接 -->
      <router-link class="box_2" to="/Box_1/menu_2" active-class="active">
        菜單2
      </router-link>
    </div>
    <div class="bottom">
      <!-- 我是Box_1組件! -->
      <router-view></router-view>
    </div>
  </div>
</template>
 
<script>
export default {
  name: "Box_1",
  data(){
    return {
      id:"666",
      name:"我是Box_1組件傳過來的參數(shù)"
    }
  }
};
</script>
 

二、基于Query和params參數(shù)傳遞(通用)

1、index.js(路由配置)

(1)query參數(shù)

  • id:$route.query.id,
  • name:$route.query.name,

(2)params參數(shù)

  • id:$route.params.id,
  • name:$route.params.name,

// 引入路由
// eslint-disable-next-line no-unused-vars
import VueRouter from 'vue-router'
import Box_1 from '../pages/Box_1.vue'
import Box_2 from '../pages/Box_2.vue'
import Menu_1 from '../pages/Menu_1.vue'
import Menu_2 from '../pages/Menu_2.vue'
 
 
// 創(chuàng)建一個路由器
 
export default new VueRouter({
    routes: [
 
        {
            path: '/Box_1',
            component: Box_1,
            children: [
                {
                    name: 'myMenu',  // 用name代替路徑
                    path: 'Menu_1',
                    component: Menu_1,
                    props($route){
                        return{
                            id:$route.params.id,
                            name:$route.params.name,
                        }
                    }
                },
                {
                    path: 'Menu_2',
                    component: Menu_2
                },
            ]
        },
        {
            path: '/Box_2',
            component: Box_2,
            children: [
                {
                    path: 'Menu_1',
                    component: Menu_1
                },
                {
                    path: 'Menu_2',
                    component: Menu_2
                },
 
            ]
        },
    ]
 
 
})

 2、Box_1.vue(父路由組件 - 發(fā)送參數(shù))

注意:params:,如果是想query方式,就改成query

<template>
  <div class="m_box">
    <div class="top">
      <!-- 路由跳轉(zhuǎn)鏈接 -->
      <router-link class="box_1" active-class="active"
        :to="{
          name:'myMenu',
          params:{
            id:id,
            name:name
          }
        }">
        菜單1
      </router-link>
      <!-- 路由跳轉(zhuǎn)鏈接 -->
      <router-link class="box_2" to="/Box_1/menu_2" active-class="active">
        菜單2
      </router-link>
    </div>
    <div class="bottom">
      <!-- 我是Box_1組件! -->
      <router-view></router-view>
    </div>
  </div>
</template>
 
<script>
export default {
  name: "Box_1",
  data(){
    return {
      id:"666",
      name:"我是Box_1組件傳過來的參數(shù)"
    }
  }
};
</script>

 3、Menu_1.vue(子路由組件 - 接收參數(shù))

<template>
  <div class="m_box">{{id}}.{{name}}</div>
</template>
 
<script>
export default {
  name: "Menu_1",
  props:['id','name'],
  mounted() {
    console.log("=============");
    console.log(this);
  },
};
 
</script>

到此這篇關(guān)于Vue路由組件通過props配置傳參的實現(xiàn)的文章就介紹到這了,更多相關(guān)Vue props傳參內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue中如何添加百度統(tǒng)計代碼

    vue中如何添加百度統(tǒng)計代碼

    這篇文章主要介紹了vue中如何添加百度統(tǒng)計代碼,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下
    2020-12-12
  • Vue中的父子組件通訊以及使用sync同步父子組件數(shù)據(jù)

    Vue中的父子組件通訊以及使用sync同步父子組件數(shù)據(jù)

    這篇文章主要介紹了Vue中的父子組件通訊以及使用sync同步父子組件數(shù)據(jù),對vue感興趣的同學,可以參考下
    2021-04-04
  • 100行代碼實現(xiàn)vue表單校驗功能(小白自編)

    100行代碼實現(xiàn)vue表單校驗功能(小白自編)

    這篇文章主要介紹了使用100行代碼實現(xiàn)vue表單校驗功能,本文通過實例截圖給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-11-11
  • vue 刷新之后 嵌套路由不變 重新渲染頁面的方法

    vue 刷新之后 嵌套路由不變 重新渲染頁面的方法

    今天小編就為大家分享一篇vue 刷新之后 嵌套路由不變 重新渲染頁面的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • 關(guān)于vant的日歷組件,在iPhonex上可選日期空白

    關(guān)于vant的日歷組件,在iPhonex上可選日期空白

    這篇文章主要介紹了關(guān)于vant的日歷組件,在iPhonex上可選日期空白,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue實例的選項總結(jié)

    vue實例的選項總結(jié)

    這篇文章主要介紹了Vue實例的選項有哪些,文中講解非常細致,代碼幫助大家更好的學習,感興趣的朋友可以了解下
    2020-06-06
  • 在vue.js中使用JSZip實現(xiàn)在前端解壓文件的方法

    在vue.js中使用JSZip實現(xiàn)在前端解壓文件的方法

    今天小編就為大家分享一篇在vue.js中使用JSZip實現(xiàn)在前端解壓文件的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • 淺談Vue的加載順序探討

    淺談Vue的加載順序探討

    本篇文章主要介紹了Vue的加載順序探討,詳細的介紹了加載順序以及如何判斷所有的子組件加載完成。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • vue嵌套組件傳參實例分享

    vue嵌套組件傳參實例分享

    這篇文章主要介紹了vue嵌套組件傳參實例分享,本文以一個vue遞歸組件為例,探究多層嵌套后事件無法觸發(fā)的問題,我們可以通過查看一Demo,便于快速了解,下文列舉例子需要的小伙伴可以參考一下
    2022-04-04
  • 詳解Vue3中如何使用動態(tài)組件

    詳解Vue3中如何使用動態(tài)組件

    在?Vue?3?中,動態(tài)組件是一種允許在運行時動態(tài)切換組件的機制,本文主要為大家詳細介紹了動態(tài)組件在Vue3中的具體使用,感興趣的小伙伴可以了解下
    2024-01-01

最新評論