# keep-unidirectional-data-flow
**Repository Path**: lsk_ciao/keep-unidirectional-data-flow
## Basic Information
- **Project Name**: keep-unidirectional-data-flow
- **Description**: 尝试自己实现 vueuse 的 useVmodel, 防止打破单向数据流
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-03-29
- **Last Updated**: 2024-03-29
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
## v-model 用法介绍
设想一种场景,有一个表单的子组件,里面有一些 input 输入框,而传入的值是从父组件通过props来传递的,这种情况在我们进行增删改查的业务时非常的常见,根据 vue3 官方的使用就是:
1. 子组件有一个名为 modelValue 的 prop,本地 ref 的值与其同步,
2. 子组件有一个名为 update:modelValue 的事件,当本地 ref 的值发生变更时触发
在props中声明一个名为 modelValue, 在emit中声明一个 update:modelValue,即可使用 v-model 进行修改, 示例代码如下:
```
// child.vue
```
亦或者通过`defineModel ` 便利宏, 但是这都是打破了单向数据流,so,本项目参考了`vueuse`中的 `useVModel`,通过`computed` 返回一个代理的方式来实现了在不打破单向数据流的情况下实现 v-model