vue2 系列:自定义 v-model

1. input 中的 v-model

Go 复制代码
<!-- 表单双向绑定 -->
<input :value="username" @input="username = $event.target.value" />
<!-- 等于 -->
<input v-model="username" />

2. 自定义组件 v-model

html 复制代码
<!-- 组件双向绑定 -->
<!-- 子 -->
<script>
export default {
  props: {
    value: {
      required: true,
    },
  },
  watch: {
    value(newValue) {
      this.my_input = newValue;
    },
  },
  data() {
    return {
      my_input: this.value,
    };
  },
  methods: {
    handleChange() {
      this.$emit("input", this.my_input);
    },
  },
};
</script>
<template>
  <el-input v-model="my_input" @change="handleChange"></el-input>
</template>

<!-- 父 -->
<my-component v-model="username" />
相关推荐
ts码农1 分钟前
model层实现:
java·服务器·前端
修仙的人6 分钟前
【开发环境】 VSCode 快速搭建 Python 项目开发环境
前端·后端·python
泡芙牛牛9 分钟前
CSS动画:animation、transition、transform、translate的区别
前端·css
shenyi11 分钟前
openlayers实现高德地图区划+撒点+点击
前端
wwy_frontend11 分钟前
不想装 Redux?useContext + useReducer 就够了!
前端·react.js
前端老鹰21 分钟前
HTML <link rel="preload">:提前加载关键资源的性能优化利器
前端·性能优化·html
兰为鹏24 分钟前
react-quill使用服务端上传图片handlers导致中文输入问题-原理分析
前端
FanetheDivine27 分钟前
具有配置项和取消能力的防抖节流函数
前端·javascript
卸任32 分钟前
Docker打包并部署Next.js
前端·docker·next.js
行星飞行32 分钟前
使用 Figma mcp 和 Playwright mcp 提升 UI 开发与调试效率,附 rule 分享
前端