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

vue中$emit的用法詳解

 更新時(shí)間:2022年08月25日 15:07:52   作者:榴蓮不好吃  
這篇文章主要介紹了vue中$emit的用法詳解,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

vue2.x

1、父組件可以使用 props 把數(shù)據(jù)傳給子組件。
2、子組件可以使用 $emit,讓父組件監(jiān)聽(tīng)到自定義事件 。

vm.$emit( event, arg ) //觸發(fā)當(dāng)前實(shí)例上的事件

vm.$on( event, fn );//監(jiān)聽(tīng)event事件后運(yùn)行 fn;

例如:子組件:

<template>
  <div class="train-city">
    <h3>父組件傳給子組件的toCity:{{sendData}}</h3> 
    <br/><button @click='select(`大連`)'>點(diǎn)擊此處將‘大連'發(fā)射給父組件</button>
  </div>
</template>
<script>
  export default {
    name:'trainCity',
    props:['sendData'], // 用來(lái)接收父組件傳給子組件的數(shù)據(jù)
    methods:{
      select(val) {
        let data = {
          cityname: val
        };
        this.$emit('showCityName',data);//select事件觸發(fā)后,自動(dòng)觸發(fā)showCityName事件
      }
    }
  }
</script>

父組件:

<template>
    <div>
        <div>父組件的toCity{{toCity}}</div>
        <train-city @showCityName="updateCity" :sendData="toCity"></train-city>
    </div>
<template>
<script>
  import TrainCity from "./train-city";
  export default {
    name:'index',
    components: {TrainCity},
    data () {
      return {
        toCity:"北京"
      }
    },
    methods:{
      updateCity(data){//觸發(fā)子組件城市選擇-選擇城市的事件
        this.toCity = data.cityname;//改變了父組件的值
        console.log('toCity:'+this.toCity)
      }
    }
  }
</script>

圖一:點(diǎn)擊之前的數(shù)據(jù)

圖二:點(diǎn)擊之后的數(shù)據(jù)

vue3.x

子組件

<template>
  <div class="train-city">
    <h3>父組件傳給子組件的toCity:{{sendData}}</h3> 
    <br/><button @click='select(`大連`)'>點(diǎn)擊此處將‘大連'發(fā)射給父組件</button>
  </div>
</template>
 
<script>
export default {
  name: "train-city",
  props:{
    sendData:{
      Type:String,
      default:""
    }
  },
  emits: ["showCityName"],
  setup(props,{emit}) {
    return {
      select: (cityname) => { emit('showCityName', {cityname}) }
    }
  },
}
</script>

父組件

<template>
    <div>
        <div>父組件的toCity{{toCity}}</div>
        <train-city @showCityName="updateCity" :sendData="toCity"></train-city>
    </div>
<template>
<script>
import TrainCity from "./train-city";
import { reactive, toRefs} from '@vue';
export default {
  name: "parent-com",
  components: { TrainCity },
  setup() {
    const state = reactive({ toCity:"北京" })  
 
    const updateCity = (data) => {
         state.toCity = data.cityname;//改變了父組件的值
         console.log('toCity:' + state.toCity)
    }
 
    return {
      ...toRefs(state ),
      updateCity
    }
  },
}
</script>

到此這篇關(guān)于vue中$emit的用法詳解的文章就介紹到這了,更多相關(guān)vue $emit用法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue中下載文件后無(wú)法打開(kāi)的坑及解決

    vue中下載文件后無(wú)法打開(kāi)的坑及解決

    這篇文章主要介紹了vue中下載文件后無(wú)法打開(kāi)的坑及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • Vue自定義toast組件的實(shí)例代碼

    Vue自定義toast組件的實(shí)例代碼

    這篇文章主要介紹了Vue自定義toast組件的相關(guān)資料,需要的朋友可以參考下
    2018-08-08
  • vue.js實(shí)現(xiàn)的綁定class操作示例

    vue.js實(shí)現(xiàn)的綁定class操作示例

    這篇文章主要介紹了vue.js實(shí)現(xiàn)的綁定class操作,結(jié)合實(shí)例形式分析了vue.js綁定class常見(jiàn)的3種操作技巧,需要的朋友可以參考下
    2018-07-07
  • vue中動(dòng)態(tài)控制btn的disabled屬性方式

    vue中動(dòng)態(tài)控制btn的disabled屬性方式

    這篇文章主要介紹了vue中動(dòng)態(tài)控制btn的disabled屬性方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue3如何加載本地圖片等靜態(tài)資源淺析

    vue3如何加載本地圖片等靜態(tài)資源淺析

    在最近新起的項(xiàng)目中,用到了較新的技術(shù)棧vue3.2+vite+ts,跟著網(wǎng)上的寫法漸漸上手了,下面這篇文章主要給大家介紹了關(guān)于vue3如何加載本地圖片等靜態(tài)資源的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • 如何查看vue-cli版本的兩個(gè)命令

    如何查看vue-cli版本的兩個(gè)命令

    這篇文章主要介紹了如何查看vue-cli版本的兩個(gè)命令問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • 詳解vue生命周期

    詳解vue生命周期

    這篇文章主要為大家介紹了vue的生命周期,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-11-11
  • vue?3.0?vue.config.js文件常用配置方式

    vue?3.0?vue.config.js文件常用配置方式

    這篇文章主要介紹了vue?3.0?vue.config.js文件常用配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • vue-cli 3.0 引入mint-ui報(bào)錯(cuò)問(wèn)題及解決

    vue-cli 3.0 引入mint-ui報(bào)錯(cuò)問(wèn)題及解決

    這篇文章主要介紹了vue-cli 3.0 引入mint-ui報(bào)錯(cuò)問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Vue3中進(jìn)行頁(yè)面局部刷新組件刷新的操作方法

    Vue3中進(jìn)行頁(yè)面局部刷新組件刷新的操作方法

    這篇文章主要介紹了Vue3中進(jìn)行頁(yè)面局部刷新組件刷新的操作方法,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-12-12

最新評(píng)論