日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

子向父通信

發布時間:2024/4/13 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 子向父通信 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

子向父的通信:$emit

來看這樣的一個案例:

<div id="app"><h2>num: {{num}}</h2><!--使用子組件的時候,傳遞num到子組件中--><counter :num="num"></counter> </div> <script src="./node_modules/vue/dist/vue.js"></script> <script type="text/javascript">Vue.component("counter", {// 子組件,定義了兩個按鈕,點擊數字num會加或減template:'\<div>\<button @click="num++">加</button> \<button @click="num--">減</button> \</div>',props:['num']// count是從父組件獲取的。})var app = new Vue({el:"#app",data:{num:0}}) </script>
  • 子組件接收父組件的num屬性

  • 子組件定義點擊按鈕,點擊后對num進行加或減操作

我們嘗試運行,好像沒問題,點擊按鈕試試:

子組件接收到父組件屬性后,默認是不允許修改的。怎么辦?

既然只有父組件能修改,那么加和減的操作一定是放在父組件:

var app = new Vue({el:"#app",data:{num:0},methods:{ // 父組件中定義操作num的方法increment(){this.num++;},decrement(){this.num--;}} })

但是,點擊按鈕是在子組件中,那就是說需要子組件來調用父組件的函數,怎么做?

我們可以通過v-on指令將父組件的函數綁定到子組件上:

<div id="app"><h2>num: {{num}}</h2><counter :count="num" @inc="increment" @dec="decrement"></counter> </div>

在子組件中定義函數,函數的具體實現調用父組件的實現,并在子組件中調用這些函數。當子組件中按鈕被點擊時,調用綁定的函數:

Vue.component("counter", {template:'\<div>\<button @click="plus">加</button> \<button @click="reduce">減</button> \</div>',props:['count'],methods:{plus(){this.$emit("inc");},reduce(){this.$emit("dec");}}})
  • vue提供了一個內置的this.$emit()函數,用來調用父組件綁定的函數

效果:

?

總結

以上是生活随笔為你收集整理的子向父通信的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。