vue2.0父子组件传递函数
时间: 2023-09-01 14:05:25 浏览: 122
在Vue2.0中,父子组件之间可以通过props属性和$emit方法进行函数的传递。
首先,在父组件中,通过props属性将函数传递给子组件。在父组件中定义一个函数,然后将它添加到子组件的props中。例如:
```js
// 父组件
<template>
<div>
<child-component :childFunction="parentFunction"></child-component>
</div>
</template>
<script>
export default {
methods: {
parentFunction() {
// 在父组件中定义的函数
}
}
}
</script>
```
然后,在子组件中,通过this.$emit方法将其作为事件,从而调用父组件中的函数。在子组件中通过$emit方法触发一个事件,并将需要传递的参数传递给父组件中的函数。例如:
```js
// 子组件
<template>
<div>
<button @click="childFunction">点击按钮</button>
</div>
</template>
<script>
export default {
props: {
childFunction: {
type: Function,
required: true
}
},
methods: {
childFunction() {
this.$emit('child-function');
}
}
}
</script>
```
最后,在父组件中,监听子组件的事件,并调用相应的处理函数。在父组件中通过v-on指令监听子组件触发的事件,并在相应的处理函数中调用父组件本身的函数。例如:
```js
// 父组件
<template>
<div>
<child-component :childFunction="parentFunction" @child-function="handleChildFunction"></child-component>
</div>
</template>
<script>
export default {
methods: {
parentFunction() {
// 在父组件中定义的函数
},
handleChildFunction() {
// 处理子组件触发的事件
}
}
}
</script>
```
通过上述的方式,就可以在Vue2.0中实现父子组件之间的函数传递。
阅读全文