您现在的位置是:网站首页> 小程序设计

Vue之父组件如何调用子组件的属性和方法

摘要

总结:$refs和生命周期有关【必须页面渲染完毕之后 才能正常访问其内部的属性】

父组件parent.vue

<template>

<view>

<!-- 这里的child可以随意取,但是必须唯一,在refs对象中 -->

<child ref="child"></child>

</view>

</template>

 

<script>

import Child from "@/pages/test/child.vue"

export default {

created(){

// 可以正常访问

console.log("created",this.$refs)

// 结果underfined

console.log("created",this.$refs.child)

},

mounted() {

// 这里的访问都是正常的【注:this.$refs必须父组件渲染完毕之后才能正常访问内部的属性或方法】

console.log("mounted",this.$refs)

console.log("mounted",this.$refs.child)

console.log("mounted",this.$refs.child.name)

console.log("mounted",this.$refs.child.age)

console.log("mounted",this.$refs.child.getName())

},

components: {

Child

},

}

</script>

 

<style>

</style>

子组件child.vue

<template>

<view class="child">

</view>

</template>

 

<script>

export default {

data() {

return {

name: "child"

}

},

methods: {

getName() {

return this.name

}

},

props:{

age:{

type:Number,

default:18

}

}

}

</script>

 

<style>

</style>



Top