我只是想知道这是否可行,我们假设我在这里有这个代码:
<div v-for="tile in container" v-bind:class="proper-class">
<tile :tile='tile' @update="update-class"></tile>
</div>
当组件内部的变量发生变化时,我想更改父div的css类。
我知道我们应该使用$emit
但我们这里有一个v-for
,所以我们要创建多个组件,$emit callback
会更新proper-class
但这会更新所有父母的css类,而不仅仅是发出update
事件的组件的父级。
有什么可以解决这个问题?
提前致谢。
答案 0 :(得分:1)
您可以使用sync
修饰符在父级和子级之间创建双向绑定。它只不过是子组件的语法糖,它将事件发送回具有所需有效负载的父级。
this.$emit('update:propName', payload)