最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue 兄弟組件通信的方法(不使用Vuex)

 更新時間:2017年10月26日 14:18:08   作者:Pany丨  
本篇文章主要介紹了Vue 兄弟組件通信的方法(不使用Vuex),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

項目中,我們經常會遇到兄弟組件通信的情況。在大型項目中我們可以通過引入vuex輕松管理各組件之間通信問題,但在一些小型的項目中,我們就沒有必要去引入vuex。下面簡單介紹一下使用傳統(tǒng)方法,實現(xiàn)父子組件通信的方法。

簡單實例:我們在a組件中點擊按鈕,將信息傳給b組件,從而使b組件彈出。

主要的思路就是:先子傳父,在父傳子

首先我們在 a.vue 組件中 ,給按鈕botton綁定一個handleClick事件,事件中我們通過 this.$emit() 方法去觸發(fā)一個自定義事件,并傳遞我們的參數。

示例中我們通過this.$emit() 去觸發(fā)isLogFn 這個方法自定義事件,并將log 參數傳遞出去

a.vue

<template>
 <div class="adiv">
 <p>a組件</p>
 <button type="button" v-on:click="handleClick">點擊打開組件b彈窗</button>
 </div>
</template>

<script>

export default {
 methods: {
 handleClick () {
  this.$emit('isLogFn','log')
 }
 }
}
</script>

<style>
.adiv{
 width: 400px;
 height: 200px;
 border: 1px solid #000;
 margin: 0 auto;
}
</style>

第二步,我們要在父組件中去監(jiān)聽這個自定義事件,去觸發(fā)對應的方法,并接受a組件傳過來的參數。此時我們就完成了子組件向父組件傳值的過程。

示例中,<aPage @isLogFn = "lisLogFn"></aPage> 監(jiān)聽isLogFn 去觸發(fā)我們在父組件中定義的方法lisLogFn,并拿到傳過來的 ‘log' 數據。完成子父傳值。

到此,整個過程還沒有結束,只是完成了一半。接下來我們要完成父子組件傳值,將a組件的信息在傳給b組件。

在< bPage > 標簽中綁定islog 屬性,動態(tài)綁定data中的login 字段,在我們通過lisLogFn 方法拿到 ‘data'之后,我們要判斷 data 傳過來的數據,根據判斷結果去改變data()中的數據,從而將數據傳遞給b組件

App.vue

<template>
 <div id="app">
 <aPage @isLogFn = "lisLogFn"></aPage>
 <bPage :isLog = "login"></bPage>
 </div>
</template>

<script>

import aPage from './components/a.vue'
import bPage from './components/b.vue'

export default {
 data () {
 return {
  login: 'false'
 }
 },
 name: 'app',
 components: {
 aPage,
 bPage
 },
 methods: {
 lisLogFn (data) {
  if (data == 'log') {
  this.login = 'true'
  }
 }
 }
}
</script>

<style>
</style>

最后,b組件中需要創(chuàng)建props,定義一個isLog 屬性,這個屬性就是我們傳過來的數值。然后我們在計算屬性中處理這個數據,最終供b組件使用。示例中,我們在v-show="isLogin" 中用來控制彈窗是否打開。

切記!不能直接使用這個props,一定要經過computed處理,原因我引用vue官方說明

單向數據流

b.vue

<template>
 <div class="bdiv" v-show="isLogin">我是組件B彈窗</div>
</template>

<script>
export default {
 props: ['isLog'],
 data () {
 return {

 }
 },
 computed: {
 isLogin () {
  if(this.isLog == 'true'){
  return true
  } else {
  return false
  }
 }
 }
}
</script>

<style>
 .bdiv{
 width: 200px;
 height: 200px;
 border: 1px #000 solid;
 margin: 0 auto;
 }

</style>

總結: 想要實現(xiàn)兄弟組件傳值,一定要首先熟悉子父,父子之間的傳值。

子父:

  1. 子組件中需要以某種方式例如點擊事件的方法來觸發(fā)一個自定義事件
  2. 將需要傳的值作為$emit的第二個參數,該值將作為實參傳給響應自定義事件的方法
  3. 在父組件中注冊子組件并在子組件標簽上綁定對自定義事件的監(jiān)聽

父子:

  1. 子組件在props中創(chuàng)建一個屬性,用以接收父組件傳過來的值
  2. 在子組件標簽中添加子組件props中創(chuàng)建的屬性,把需要傳給子組件的值賦給該屬性

文中示例 github 地址:https://github.com/enjoy-pany/vue-emit

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Vue調用PC攝像頭實現(xiàn)拍照功能

    Vue調用PC攝像頭實現(xiàn)拍照功能

    這篇文章主要為大家詳細介紹了Vue調用PC攝像頭實現(xiàn)拍照功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Vue+penlayers實現(xiàn)多邊形繪制及展示

    Vue+penlayers實現(xiàn)多邊形繪制及展示

    這篇文章主要為大家詳細介紹了Vue+penlayers實現(xiàn)多邊形繪制及展示,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • Vue實現(xiàn)滑動拼圖驗證碼功能

    Vue實現(xiàn)滑動拼圖驗證碼功能

    這篇文章主要介紹了Vue實現(xiàn)滑動拼圖驗證碼功能,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • vue3生命周期原理與生命周期函數簡單應用實例分析

    vue3生命周期原理與生命周期函數簡單應用實例分析

    這篇文章主要介紹了vue3生命周期原理與生命周期函數,結合簡單實例形式分析了vue3的生命周期基本原理、以及各個階段的生命周期鉤子函數功能、使用技巧與相關注意事項,需要的朋友可以參考下
    2023-04-04
  • vue隨機驗證碼組件的封裝實現(xiàn)

    vue隨機驗證碼組件的封裝實現(xiàn)

    這篇文章主要為大家詳細介紹了如何封裝一個隨機驗證碼的VUE組件,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • vue3自定義指令看完這篇就入門了

    vue3自定義指令看完這篇就入門了

    不同于vue2不需要被use使用,vue3的機制是你的指令必須要被注冊成方法的,這樣你才能全局使用到自定義指令,下面這篇文章主要給大家介紹了關于vue3自定義指令的相關資料,需要的朋友可以參考下
    2022-11-11
  • 不能通過IP地址訪問VUE項目的問題及解決

    不能通過IP地址訪問VUE項目的問題及解決

    這篇文章主要介紹了不能通過IP地址訪問VUE項目的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • vue如何實現(xiàn)無縫輪播圖

    vue如何實現(xiàn)無縫輪播圖

    這篇文章主要介紹了vue如何實現(xiàn)無縫輪播圖,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • vue項目中圖片懶加載時出現(xiàn)的問題及解決

    vue項目中圖片懶加載時出現(xiàn)的問題及解決

    這篇文章主要介紹了vue項目中圖片懶加載時出現(xiàn)的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • Vue 內置組件keep-alive的使用示例

    Vue 內置組件keep-alive的使用示例

    這篇文章主要介紹了Vue 內置組件keep-alive的使用示例,幫助大家更好的理解和學習使用vue,感興趣的朋友可以了解下
    2021-04-04

最新評論

明水县| 宽城| 甘肃省| 绥德县| 新兴县| 康乐县| 甘谷县| 峨边| 奈曼旗| 苍南县| 彭泽县| 鄂州市| 泰安市| 成武县| 赣州市| 肇州县| 宜川县| 天柱县| 仪陇县| 彭泽县| 成安县| 望城县| 二连浩特市| 大方县| 上饶市| 灯塔市| 来宾市| 香河县| 东阿县| 吴旗县| 塘沽区| 海伦市| 梧州市| 武安市| 泰兴市| 孝昌县| 达孜县| 祁门县| 光山县| 上林县| 巴东县|