91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

vue父組件通過props如何向子組件傳遞方法詳解

發布時間:2020-09-18 15:13:11 來源:腳本之家 閱讀:245 作者:睜眼的不二 欄目:web開發

前言

本文主要給大家介紹了關于vue中父組件通過props向子組件傳遞方法的相關內容,分享出來供大家參考學習,下面來一起看看詳細的介紹:

vue 組件中的 this

vue 中 data/computed/methods 中 this的上下文是vue實例,需注意。

例如:

注意:不應該對 data 屬性使用箭頭函數 (例如data: () => { return { a: this.myProp }} ) 。理由是箭頭函數綁定了父級作用域的上下文,所以 this 將不會按照期望指向 Vue 實例,this.myProp 將是 undefined

https://cn.vuejs.org/v2/api/#methods

父組件通過props向子組件傳遞方法

父組件調用子組件,通過綁定callback屬性,將方法傳給子組件:

App.vue 

<search-bar class="f-fr" placeholder="請輸入名字" mutationName='resetListData' :callback="callback"/>

子組件通過props獲取父組件傳過來的callback方法:

SearchBar.vue

export default {
 name: 'SearchBar',
 data() {
  return {
   input: ''
  }
 },
 methods: {
  setName: function () {
   var input = this.input;
   if (input.trim() == '') {
    alert("empty");
   }
   else {
    Api.searchTest(this.input,this.success );
   }

  },
  success(responseData) {
   this.callback(responseData);
  },
 },
 props: ['placeholder', 'apiName', 'moduleName', 'mutationName','callback']
}

通過 data

export default {
 ...
 data:function() {
 return {
  callback:function(responseData) {
  this.$store.commit('resetListData', responseData);
  }
 }
 },
 ...
};

此處callback以函數對象的方式,傳入子組件,子組件調用的時候,this指向子組件

通過 methods

export default {
 ...
 methods: {
 callback(responseData) {
  this.$store.commit('resetListData', responseData);
 }
 }
};

此處callback是父組件的一個方法,個人理解,當父組件初始化時,該方法的this上下文就綁定了父組件的實例,因此當子組件調用callback 方法時,this指向父組件。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對億速云的支持。

向AI問一下細節

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

AI

浦县| 罗山县| 神池县| 贵定县| 务川| 深州市| 太保市| 鲁甸县| 弥渡县| 日喀则市| 双峰县| 双鸭山市| 桦甸市| 崇左市| 清苑县| 永顺县| 竹北市| 咸丰县| 河西区| 安化县| 夹江县| 喀喇沁旗| 南昌市| 桂林市| 潼关县| 金昌市| 平阴县| 松阳县| 德化县| 拜泉县| 鸡东县| 青河县| 道孚县| 怀化市| 巴彦淖尔市| 怀来县| 中宁县| 潮安县| 冀州市| 郎溪县| 甘泉县|