# 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