www.lom599.comvue中的自定义事变只能子传父?

我想经过父组件中的this.$emit的办法来触发子组件中的this.$on,应该要怎样做?
我做过的实行:
运用vue2.x

style:

#parent {
        width: 200px;
        height: 200px;
        background-color: #eee;
    }
    
.child {
    width: 100px;
    height: 100px;
    background-color: red;
}

html:

<div id="parent" @click="test">
    <p>{{ total }}</p>
    <child v-on:increment="test"></child>
</div>

javascript:

Vue.componentchild, {
    template: <div class="child" @click.stop="add">{{ counter }}</div>,
    created: function {
        //子组件初始化时监听increment事变
        this.$onincrement, function {
            this.counter += 1;
        };
    },
    data: function {
        return {
            counter: 0
        }
    },
    methods: {
        add: function {
            //子组件中点击后实行,触发本身increment事变
            this.$emitincrement;
        }
    },
}
new Vue{
    el: #parent,
    data: {
        total: 0
    },
    methods: {
        test: function {
         //父组件中点击后实行,不触发子组件的increment事变
            this.total += 1;
            this.$emitincrement;
        }
    }
}

经过ref match到子组件 直接调用子组件的method

或许 https://vuefe.cn/guide/migrat…

的确无法运用父组件触发子组件的事变,但是可以运用props交换。
在子组件监听传值,传值改动则触发事变。

组件是为理解耦。也便是说,父组件中可以没有子组件,这个时分怎样传。
不过,可以采取其他方法完成:比如经过props来告诉子组件,父组件的变革。

(看完/读完)这篇文章有何感想! www.lom599.com的分享…

发表评论

姓名 *
电子邮件 *
站点