<input v-model="firstName" @update:model-value="updateForm"/>
<input v-model="lastName" @update:model-value="updateForm"/>
上面的代码块按预期工作,即调用 updateForm 并同步firstName/lastName 变量。据我了解
v-model
在内部使用 @update:model-value
,所以我基本上定义了 2 个 @update:model-value
属性。
它可以工作,但它是错误的吗?
我可以定义不同的方法:
updateFirstName
和updateLastName
,但是如果上面的方法有效,我就不需要这样做,对吧?
这是错误的,因为这是未经记录的使用,会导致不可预测的行为。
如果打算在字段更新上执行某些操作,可以在观察程序中完成,例如:
watch([firstName, lastName], () => { updateForm() });