我对如何更改组件内部的属性有些困惑,假设我具有以下组件:
{
props: {
visible: {
type: Boolean,
default: true
}
},
methods: {
hide() {
this.visible = false;
}
}
}
虽然可以,但是会发出以下警告:
避免直接更改prop,因为每当父组件重新渲染时,该值都会被覆盖。而是使用基于属性值的数据或计算属性。道具被突变:“可见”(位于组件中)
现在,我想知道最好的处理方式是什么,显然visible
在DOM中创建组件时会传递该属性:<Foo :visible="false"></Foo>
为了帮助任何人,我都面临着同样的问题。我只是将v-model =“”内部的var从props数组更改为data。记住道具和数据之间的区别,在我看来,改变它不是问题,您应该权衡一下决策。
例如:
之前:
后: