vue父组件触发子组件方法

2025-11-14 01:47:56

1、首先,子组件通过$emit触发父组件的事件,$emit后面的参数是向父组件传参,参数直接传递到了父组件的methods的事件处理函数了。vue子组件用了定义模板组件功能,然后在父组件里定义一个HTML元素绑定这个子组件后才能在父组件通过这个HTML元素使用。

vue父组件触发子组件方法

2、然后,在父子组件间传递,使用$on()监听事件;使用$emit()在它上面触发事件;使用$dispatch()派发事件,事件沿着父链冒泡;使用$broadcast()广播事件,事件向下传导给所有的后代,Vue2.0后$dispatch(),$broadcast()被弃用。

vue父组件触发子组件方法

3、然后,在Father上一个输入框,根据输入传递到Child组件上。父组件:<template>  <div>    <input type="text" v-model="msg">    <br>    //将子控件属性inputValue与父组件msg属性绑定    <child :inputValue="msg"></child>  </div></template><style></style><script>  export default{    data(){      return {        msg: '请输入'      }    },    components: {      child: require('./Child.vue')    }  }</script。

vue父组件触发子组件方法

4、然后,输入子组件:<template>  <div>    {{inputValue}}  </div></template><style></style><script>    export default{        props: {          inputValue: String        }    }</script>。

vue父组件触发子组件方法

5、然后,父组件传递数据给子组件,通过props属性来实现,父组件:<parent>    <child :child-msg="msg"></child>//这里必须要用 - 代替驼峰</parent>data(){    return {        msg: [1,2,3]    };}。

vue父组件触发子组件方法

6、最后,子组件与父组件的通信,可以通过触发事件来通知父组件改变数据,从而达到改变子组件数据的目的。子组件:<template>    <div @click="up"></div></template>methods: {    up() {        this.$emit('upup','hehe'); //主动触发upup方法,'hehe'为向父组件传递的数据    }。父组件:}<div>    <child @upup="change" :msg="msg"></child> //监听子组件触发的upup事件,然后调用change方法</div>methods: {    change(msg) {        this.msg = msg;    }}。

vue父组件触发子组件方法

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢