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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > vue >内容正文

vue

vue 子级拿值_vue 父组件通过$refs获取子组件的值和方法详解

發(fā)布時間:2024/9/19 vue 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vue 子级拿值_vue 父组件通过$refs获取子组件的值和方法详解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前言

在vue項目中組件之間的通訊是很常見的問題,同時也是很重要的問題,我們大致可以將其分為三種情況:

父傳子:在父組件中綁定值,在子組件中用props接收

子傳父:在父組件中監(jiān)聽一個事件,在子組件中利用$emit觸發(fā)這個事件并帶上數(shù)據(jù)作為第二個參數(shù),這時父組件中監(jiān)聽事件的回調(diào)函數(shù)就會被調(diào)用,回調(diào)函數(shù)的參數(shù)就是子組件帶上來的數(shù)據(jù),這樣就可以在父組件中使用子組件的數(shù)據(jù)了,

兄弟之間的傳遞:我們可以使用事件總線(eventBus)來輕松的解決,其實就是發(fā)布訂閱者模式

今天我們要看的是父組件如何直接調(diào)取子組件的數(shù)據(jù)和方法,而不是通過子組件傳上來的

在這里我們要理解父組件直接拿事件是在父組件上,子組件傳上來數(shù)據(jù),事件是在子組件上,是完全不同的兩種情況

代碼展示

子組件 children.vue,我們在子組件中定義了數(shù)據(jù)sonData和方法sonMethod

// children.vue

我是 children

export default {

data: () => ({

sonData: '我是子組件的數(shù)據(jù)!'

}),

methods: {

sonMethod() {

console.log('我是子組件的方法!')

}

},

computed: {

},

created() {

}

}

父組件 文件

// 父組件

父組件

import children from './coms/children'

export default {

data() {

return {}

},

components: {

children

},

methods: {

onclick() {

// 或者 let chil = this.$refs['ch']

let chil = this.$refs.ch

// 父組件可以通過$refs拿到子組件的對象

// 然后直接調(diào)用子組件的 methods里的方法和data里的數(shù)據(jù)

console.log(chil) //子組件對象

console.log(chil.sonData) // 我是子組件的數(shù)據(jù)

console.log(chil.sonMethod()) // 我是子組件的方法

}

}

}

注意事項

因為 ref 本身是作為渲染結(jié)果被創(chuàng)建的,在初始渲染的時候你不能訪問它們 - 它們還不存在!,所以它不是響應(yīng)式的,不能用在模板或者計算屬性中。

以上這篇vue 父組件通過$refs獲取子組件的值和方法詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持我們。

時間: 2019-11-06

總結(jié)

以上是生活随笔為你收集整理的vue 子级拿值_vue 父组件通过$refs获取子组件的值和方法详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。