uniapp中v-model的使用
时间: 2023-12-20 20:22:45 浏览: 259
uniapp实现计算器功能
在uniapp中,可以通过v-model指令实现数据的双向绑定。v-model通常用于将表单元素的值与数据对象中的属性进行关联,以实现数据的同步更新。在父子组件之间,v-model的使用稍有不同。
父组件需要在模板中使用v-model指令,并将子组件的属性与父组件的data对象中的属性进行绑定,如下所示:
```html
<template>
<son-component v-model:code="form.code"/>
</template>
```
在父组件中,需要定义一个名为`form`的数据对象,并在子组件中使用这个对象的属性。
在子组件中,需要通过`defineProps`来接收父组件传递的值,并使用`defineEmits`来定义一个名为`update:code`的事件。然后通过计算属性`codeValue`来实现v-model的双向绑定,获取父组件传递的`code`值,并在值变化时通过`emit`触发`update:code`事件,将新的值传递给父组件。
```html
<template>
<input type="number" v-model="codeValue"/>
</template>
<script lang="ts" setup>
import { ref, computed, defineProps, defineEmits } from 'vue';
const props = defineProps<{ code: string }>();
const emit = defineEmits<{ (e: 'update:code', value: string): void }>();
const codeValue = computed({
get() {
return props.code;
},
set(value: string) {
emit('update:code', value);
}
});
</script>
```
这样就完成了uniapp中v-model的使用,通过这种方式可以实现双向数据绑定,使父子组件之间的数据同步更新。
阅读全文