VueCompilerError:v-model 不能用于 v-for 或 v-slot 作用域变量,因为它们不可写。为什么?
<template>
<div v-for="service in services" :key="service.id">
<ServicesItem v-model="service"></ServicesItem >
</div>
</template>
<script lang="ts">
import ServicesItem from "@js/components/ServicesItem.vue"
export default defineComponent({
components: { ServicesItem },
setup() {
const services = ref([
{
id: 1,
name: "Service 1",
active: false,
types_cars: {
cars: {},
suv: {},
},
},
])
return {
services,
}
},
})
</script>
Run Code Online (Sandbox Code Playgroud)
最佳实践是什么?反应式对象传输
aym*_*g31 30
好吧,现在发生的事情是变量“service”是虚拟的。它并不存在,它只是某个点(迭代)的真实对象“服务”的一部分。
如果您想将该迭代“附加”到您的组件,您需要提供一个真实的对象,在您的情况下,可以这样做:
<div v-for="(service, i) in services" :key="service.id">
<ServicesItem v-model="services[i]"></ServicesItem >
</div>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11390 次 |
| 最近记录: |