<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

        Vue2.0中三種常用傳值方式(父?jìng)髯?、子傳父、非父子組件傳值)

        來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:09:46
        文檔

        Vue2.0中三種常用傳值方式(父?jìng)髯?、子傳父、非父子組件傳值)

        Vue2.0中三種常用傳值方式(父?jìng)髯?、子傳父、非父子組件傳值):Vue2.0 傳值方式: 在Vue的框架開發(fā)的項(xiàng)目過程中,經(jīng)常會(huì)用到組件來管理不同的功能,有一些公共的組件會(huì)被提取出來。這時(shí)必然會(huì)產(chǎn)生一些疑問和需求?比如一個(gè)組件調(diào)用另一個(gè)組件作為自己的子組件,那么我們?nèi)绾芜M(jìn)行給子組件進(jìn)行傳值呢?如果是電商網(wǎng)站系統(tǒng)的
        推薦度:
        導(dǎo)讀Vue2.0中三種常用傳值方式(父?jìng)髯印⒆觽鞲?、非父子組件傳值):Vue2.0 傳值方式: 在Vue的框架開發(fā)的項(xiàng)目過程中,經(jīng)常會(huì)用到組件來管理不同的功能,有一些公共的組件會(huì)被提取出來。這時(shí)必然會(huì)產(chǎn)生一些疑問和需求?比如一個(gè)組件調(diào)用另一個(gè)組件作為自己的子組件,那么我們?nèi)绾芜M(jìn)行給子組件進(jìn)行傳值呢?如果是電商網(wǎng)站系統(tǒng)的

        Vue2.0 傳值方式:

        在Vue的框架開發(fā)的項(xiàng)目過程中,經(jīng)常會(huì)用到組件來管理不同的功能,有一些公共的組件會(huì)被提取出來。這時(shí)必然會(huì)產(chǎn)生一些疑問和需求?比如一個(gè)組件調(diào)用另一個(gè)組件作為自己的子組件,那么我們?nèi)绾芜M(jìn)行給子組件進(jìn)行傳值呢?如果是電商網(wǎng)站系統(tǒng)的開發(fā),還會(huì)涉及到購(gòu)物車的選項(xiàng),這時(shí)候就會(huì)涉及到非父子組件傳值的情況。當(dāng)然你也可以用Vuex狀態(tài)管理工具來實(shí)現(xiàn),這部分我們后續(xù)會(huì)單獨(dú)介紹。我先給大家介紹Vue開發(fā)中常用的三種傳值方式。

        Vue常用的三種傳值方式有:

        •父?jìng)髯?/p>

        •子傳父

        •非父子傳值

        引用官網(wǎng)的一句話:父子組件的關(guān)系可以總結(jié)為 prop 向下傳遞,事件向上傳遞。父組件通過 prop 給子組件下發(fā)數(shù)據(jù),子組件通過事件給父組件發(fā)送消息,如下圖所示:

        這里寫圖片描述

        接下來,我們通過實(shí)例來看可能會(huì)更明白一些:

        1. 父組件向子組件進(jìn)行傳值

        這里寫圖片描述

        父組件:

        <template>
         <div>
         父組件:
         <input type="text" v-model="name">
         <br>
         <br>
         <!-- 引入子組件 -->
         <child :inputName="name"></child>
         </div>
        </template>
        <script>
         import child from './child'
         export default {
         components: {
         child
         },
         data () {
         return {
         name: ''
         }
         }
         }
        </script>

        子組件:

        <template>
         <div>
         子組件:
         <span>{{inputName}}</span>
         </div>
        </template>
        <script>
         export default {
         // 接受父組件的值
         props: {
         inputName: String,
         required: true
         }
         }
        </script>

        2. 子組件向父組件傳值

        這里寫圖片描述

        子組件:

        <template>
         <div>
         子組件:
         <span>{{childValue}}</span>
         <!-- 定義一個(gè)子組件傳值的方法 -->
         <input type="button" value="點(diǎn)擊觸發(fā)" @click="childClick">
         </div>
        </template>
        <script>
         export default {
         data () {
         return {
         childValue: '我是子組件的數(shù)據(jù)'
         }
         },
         methods: {
         childClick () {
         // childByValue是在父組件on監(jiān)聽的方法
         // 第二個(gè)參數(shù)this.childValue是需要傳的值
         this.$emit('childByValue', this.childValue)
         }
         }
         }
        </script>

        父組件:

        <template>
         <div>
         父組件:
         <span>{{name}}</span>
         <br>
         <br>
         <!-- 引入子組件 定義一個(gè)on的方法監(jiān)聽子組件的狀態(tài)-->
         <child v-on:childByValue="childByValue"></child>
         </div>
        </template>
        <script>
         import child from './child'
         export default {
         components: {
         child
         },
         data () {
         return {
         name: ''
         }
         },
         methods: {
         childByValue: function (childValue) {
         // childValue就是子組件傳過來的值
         this.name = childValue
         }
         }
         }
        </script>

        3. 非父子組件進(jìn)行傳值

        非父子組件之間傳值,需要定義個(gè)公共的公共實(shí)例文件bus.js,作為中間倉(cāng)庫(kù)來傳值,不然路由組件之間達(dá)不到傳值的效果。

        公共bus.js

        //bus.js
        import Vue from 'vue'
        export default new Vue()

        組件A:

        <template>
         <div>
         A組件:
         <span>{{elementValue}}</span>
         <input type="button" value="點(diǎn)擊觸發(fā)" @click="elementByValue">
         </div>
        </template>
        <script>
         // 引入公共的bug,來做為中間傳達(dá)的工具
         import Bus from './bus.js'
         export default {
         data () {
         return {
         elementValue: 4
         }
         },
         methods: {
         elementByValue: function () {
         Bus.$emit('val', this.elementValue)
         }
         }
         }
        </script>

        組件B:

        <template>
         <div>
         B組件:
         <input type="button" value="點(diǎn)擊觸發(fā)" @click="getData">
         <span>{{name}}</span>
         </div>
        </template>
        <script>
         import Bus from './bus.js'
         export default {
         data () {
         return {
         name: 0
         }
         },
         mounted: function () {
         var vm = this
         // 用$on事件來接收參數(shù)
         Bus.$on('val', (data) => {
         console.log(data)
         vm.name = data
         })
         },
         methods: {
         getData: function () {
         this.name++
         }
         }
         }
        </script>

         總結(jié)

        以上所述是小編給大家介紹的Vue2.0中三種常用傳值方式(父?jìng)髯?、子傳父、非父子組件傳值),希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

        聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        Vue2.0中三種常用傳值方式(父?jìng)髯?、子傳父、非父子組件傳值)

        Vue2.0中三種常用傳值方式(父?jìng)髯?、子傳父、非父子組件傳值):Vue2.0 傳值方式: 在Vue的框架開發(fā)的項(xiàng)目過程中,經(jīng)常會(huì)用到組件來管理不同的功能,有一些公共的組件會(huì)被提取出來。這時(shí)必然會(huì)產(chǎn)生一些疑問和需求?比如一個(gè)組件調(diào)用另一個(gè)組件作為自己的子組件,那么我們?nèi)绾芜M(jìn)行給子組件進(jìn)行傳值呢?如果是電商網(wǎng)站系統(tǒng)的
        推薦度:
        標(biāo)簽: VUE 中常用 vue2.0
        • 熱門焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲精品国产成人影院| 国产乱子影视频上线免费观看| 国产成人亚洲精品影院| 国产综合成人亚洲区| 热久久精品免费视频| 亚洲国产精品成人综合色在线| 在线A级毛片无码免费真人| 亚洲激情视频图片| 成年女人午夜毛片免费视频| 亚洲精品无码久久久久APP | 国产福利视精品永久免费| 亚洲美女色在线欧洲美女| 无码精品A∨在线观看免费| 麻豆狠色伊人亚洲综合网站| 妞干网免费视频观看| 美女露100%胸无遮挡免费观看| 亚洲国产V高清在线观看| a级毛片免费高清毛片视频| 久久精品国产亚洲av麻| 国产男女爽爽爽爽爽免费视频| 亚洲真人无码永久在线观看| 国产一级淫片a免费播放口之| 一区二区视频在线免费观看| 久久久久亚洲精品美女| AV大片在线无码永久免费| 成人精品国产亚洲欧洲| 亚洲韩国精品无码一区二区三区| 最近免费中文字幕mv在线电影| 亚洲精品第一国产综合野| 亚洲AⅤ无码一区二区三区在线 | 久久久久久久久无码精品亚洲日韩| 免费一级黄色毛片| 久久久久久国产精品免费免费男同| 亚洲精品亚洲人成在线播放| 成人亚洲综合天堂| 99精品视频免费在线观看| 亚洲综合欧美色五月俺也去| 亚洲日韩国产精品第一页一区| 91免费国产在线观看| 亚欧乱色国产精品免费视频| 亚洲人成影院午夜网站|