众所周知,vue是单向数据流,子组件不能直接改变父组件中的变量,如下:
parent.vue
parent:{{ msg }}
children.vue
children:{{ msg }}
页面如下:

点击后:

上面是最基础的父向子组件传递数据,子组件修改变量不影响父组件,那么父子组件如果要同步呢?这时应该使用this.$emit()这个函数了。
立即学习“前端免费学习笔记(深入)”;
第一种:v-model传递
父组件修改:
parent:{{ msg }}
子组件修改:
注意:model部分不能省略,this.$emit()触发的事件为input(当父组件上没有明确绑定返回事件时,input为默认),传递的值为child
页面如下:

点击后:

可见父子组件的值同步了
第二种:明确指定响应事件(@)
父组件修改:
parent:{{ msg }}
子组件修改:
这里我故意在emit之后修改了msg的值,事实证明,这是不行的,所以我猜测emit是一个异步函数,会在队列的最后执行,也就是说这里赋值‘from children’最后被覆盖了。
值得一提的是,this.$emit()第二个参数可向父组件传值,这里用处很大,自行体会
hdhcms网站支持PC、手机版,同时后台支持公众号的接入,包括微信服务号订阅号,可以设置自动回复及服务号菜单及认证订阅号菜单。 1、网站上线方法: 1.1本网站运行环境为:IIS6.5+SQLITE 1.2将网站解压到网站目录 1.3数据库默认为SQLITE,包括在解压目录内,无须修改 1.4 完成上面的配置后通过所绑定的域名即可运行2网址访问及后台访问配置
页面如下:

点击后:


两种方法都基本可以达到预期效果,具体自己分情况使用
说完父子通信后,理所当然到子子组件通信了,其实,机智的你应该也想到怎么做了吧。没错,就是利用父组件当跳板,让子子组件达到通信的效果。
下面还是给个小例子:
父组件:
子组件一:
children:{{ msg }}
子组件二:
children2: {{ msg2 }}
页面如下: 点击后:


本文介绍了vue数据绑定方式详解 ,更多相关内容请关注php中文网。
相关推荐:









