中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue.js中this.$emit怎么使用

發布時間:2022-08-23 14:42:34 來源:億速云 閱讀:252 作者:iii 欄目:開發技術

本文小編為大家詳細介紹“vue.js中this.$emit怎么使用”,內容詳細,步驟清晰,細節處理妥當,希望這篇“vue.js中this.$emit怎么使用”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

一、每個 Vue 實例都實現了事件接口

即:

1、使用 $on(eventName) 監聽事件

2、使用 $emit(eventName, optionalPayload) 觸發事件

二、注意事項

 1、父組件可以在使用子組件的地方直接用 v-on 來監聽子組件觸發的事件

 2、不能用 $on 監聽子組件釋放的事件,而必須在模板里直接用 v-on 綁定

三、例子及說明

1、父組件代碼及說明

<template>
  <div>
    <p>{{ total }}</p>
    <my-button4 @increment1="incrementTotal1"></my-button4>     <!--自定義方法increment1監聽子組件觸發情況-->
    <my-button4 @increment2="incrementTotal2"></my-button4>     <!--自定義方法increment2監聽子組件觸發情況-->
  </div>
</template>

<script>
  import myButton4 from './components/myButton4.vue'
  export default{
    data(){
      return{
          total:0
      }
    },
    methods:{
      incrementTotal1: function () {                     /*事件incrementTotal觸發*/
        this.total += 1
      },
      incrementTotal2: function () {                    /*事件incrementTota2觸發*/
        this.total += 2
      }
    },
    components:{                        /*子組件的實例,要盡量放在最后,不然會出現一些不必要的問題*/
      myButton4
    }
  }
</script>

2、子組件代碼及說明

<template>
      <button @click="incrementCounter">{{counter}}</button> <!--在子組件中創建一個按鈕,創建點擊事件-->
</template>

<script>
   export default{
     data(){
       return{
         counter: 0
       }
     },
     methods: {
       incrementCounter: function (){
         this.counter += 1
         this.$emit('increment1')        /*觸發自定義事件increment1,也就是父組件中的incrementTotal1事件*/
         this.$emit('increment2')        /*觸發自定義事件increment2,也就是父組件中的incrementTotal2事件*/
                                         /*這兩個事件一次只會觸發一個,為什么呢?很簡單,因為每次只單擊一個按鈕*/
       }
     }
   }
</script>

3、運行截圖

A、開始截圖:

vue.js中this.$emit怎么使用

B、點擊第一個按鈕截圖(+1)

vue.js中this.$emit怎么使用

C、點擊第二個按鈕截圖(+2)

vue.js中this.$emit怎么使用

 四、總說明

1、首先看子組件件,按鈕中給其綁定了方法:incrementCounter; 

2、點擊button時會執行函數 incrementCounter,increment中有 this.$emit(&lsquo;increment1)和this.$emit(&lsquo;increment2),看點擊的是哪個按鈕就執行哪個; 

3、當incrementCounter執行時,就會觸發自定函數increment1(點擊第一個按鈕的時候)或者increment(點擊第二個按鈕的時候),也就是incrementTotal1或者incrementTotal2函數。

讀到這里,這篇“vue.js中this.$emit怎么使用”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

八宿县| 米脂县| 育儿| 专栏| 神农架林区| 晴隆县| 长岛县| 嘉祥县| 延庆县| 青铜峡市| 津南区| 河池市| 灵丘县| 田阳县| 长兴县| 惠东县| 台中县| 高清| 丰台区| 福建省| 淮安市| 瑞金市| 乌鲁木齐市| 广宁县| 尼勒克县| 邵武市| 辉县市| 安化县| 额济纳旗| 曲沃县| 文昌市| 信丰县| 陵川县| 观塘区| 炎陵县| 威远县| 丹棱县| 康平县| 郸城县| 华阴市| 海阳市|