VUE2.0组件自定义事件.sync实例

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VUE2.0组件自定义事件.sync实例相关的知识,希望对你有一定的参考价值。

     
        <div id="root">
          <parent></parent>
       </div>
     var childNode = {
            template:                <div class="child">                    <div>子组件数据 {{ childMsg }} </div>                    <input v-model="childMsg">                    <button v-on:click="add">+1</button>\\ //第一步:点击按钮
                </div>            ,
            data:function(){
                return {
                    childMsg:0
                }
            },
            methods:{
                add:function(){ //第二步:触发add方法,再触发update:foo,用childMsg更新foo,因为.sync的原因,数据变成了双向绑定 更改foo同样也更改了父组件的msg属性
                    this.childMsg++
                    this.$emit(‘update:foo‘,this.childMsg)
                }
            }
        }
        var parentNode = {
            template:                <div class="parent">                    <p>父组件数据 {{ msg }} </p>                    <child :foo.sync="msg"></child>\\ //(v-bind:foo 给子组件绑定一个foo属性,把父组件的属性msg赋值子组件的foo)
                </div>            ,
            components:{
                ‘child‘:childNode
            },
            data:function(){
                return {
                    msg:0
                }
            }
        }
        new Vue({
            el:‘#root‘,
            components:{
                ‘parent‘:parentNode
            }
        })
DOM渲染的结果为:
技术分享

 




以上是关于VUE2.0组件自定义事件.sync实例的主要内容,如果未能解决你的问题,请参考以下文章

Vue2.0学习—组件的自定义事件(五十八)

Vue2.0— 组件的自定义事件(十八)

vue2.0 #$emit,$on的使用

vue2.0 中#$emit,$on的使用详解

vue2.0修饰符sync用法

vue2.0中eventBus实现兄弟组件通讯