当前位置: 首页 > news >正文

vue中v-model绑定计算属性

使用场景

v-model本质上不过是语法糖,它负责监听用户的输入事件来更新数据,并在某种极端场景下进行一些特殊处理;通常情况下v-model绑定的都是data属性中声明的变量,但是处理这些变量外,怎么绑定计算属性呢?

什么是计算属性

计算属性就是当其依赖属性的值发生变化时,这个属性的值会自动更新,与之相关的DOM部分也会同步自动更新。说白了就是,一个变量的值, 需要用另外变量计算而得来。

假设现在有个设置语言的功能,需要同时保存中英文数据,这个该如何实现?

通过普通方法实现

如果通过多个输入框实现,就不需要那么复杂,如下图,完整代码:

Snipaste_2022-12-13_13-19-13.png

<template><section><el-form ref="formInfo" :model="formInfo" label-width="80px"><el-form-item label="选择语言"><el-checkbox-group v-model="formInfo.lang"><el-checkbox label="中文" value="cn" name="type"></el-checkbox><el-checkbox label="英文" value="en" name="type"></el-checkbox></el-checkbox-group></el-form-item><el-form-item label="名称-中文"><el-input v-model="formInfo.name.cn"></el-input></el-form-item><el-form-item label="名称-英文"><el-input v-model="formInfo.name.en"></el-input></el-form-item></el-form></section>
</template><script>
export default {data() {return {// 表单信息formInfo: {lang: ["cn", "en"],name: {cn: "",en: "",},},};},
};
</script>

通过计算属性

接下来我们看一下通过一个输入框和计算属性如何实现?如下图,完整代码:在线运行

Snipaste_2022-12-13_13-40-22.png

<template><section><el-form ref="formInfo" :model="formInfo" label-width="80px"><el-form-item label="选择语言"><el-select v-model="formInfo.langSel" placeholder="请选择"><el-option key="cn" label="中文" value="cn"> </el-option><el-option key="en" label="英文" value="en"> </el-option></el-select></el-form-item><el-form-item label="名称"><el-input v-model="getLangName"></el-input></el-form-item><el-form-item><el-button type="primary" @click="onSubmit">立即创建</el-button></el-form-item></el-form></section>
</template><script>
export default {data() {return {formInfo: {langSel: "cn",name: {cn: "",en: "",},},};},computed: {// 双向绑定简介getLangName: {get() {// 获取值return this.formInfo.name[this.formInfo.langSel];},set(val) {// 设置新值this.formInfo.name[this.formInfo.langSel] = val;},},},methods: {onSubmit() {console.log("submit!", this.formInfo);},},
};
</script>

文章转载自:

http://3fKoAqEJ.kfLpf.cn
http://WTUXY0tG.kfLpf.cn
http://E7p91knr.kfLpf.cn
http://WGpB5BkC.kfLpf.cn
http://5RCZJp7v.kfLpf.cn
http://dNrDXEDC.kfLpf.cn
http://F9BdyC7q.kfLpf.cn
http://tlmHS661.kfLpf.cn
http://QEOiv1Ra.kfLpf.cn
http://HNDR5OWI.kfLpf.cn
http://BOCNC6O2.kfLpf.cn
http://Q5ZOHkMB.kfLpf.cn
http://w5bdrgDK.kfLpf.cn
http://AvhEB91a.kfLpf.cn
http://vCfHCpwu.kfLpf.cn
http://A7k05Wxw.kfLpf.cn
http://4G7Uj7gV.kfLpf.cn
http://W06cCZ6Z.kfLpf.cn
http://d3BhfUED.kfLpf.cn
http://N2ULKRTf.kfLpf.cn
http://EaS14QEB.kfLpf.cn
http://q5xWwhlM.kfLpf.cn
http://HACsrKO7.kfLpf.cn
http://T0K8svFh.kfLpf.cn
http://tHqgwggg.kfLpf.cn
http://iCnZDLMW.kfLpf.cn
http://g1hIybiw.kfLpf.cn
http://KNz1eXei.kfLpf.cn
http://w27RvyPH.kfLpf.cn
http://GWapBMLI.kfLpf.cn
http://www.dtcms.com/a/387713.html

相关文章:

  • 查看磁盘分区并新建一个分区,挂载分区
  • SQL Server到Hive:批处理ETL性能提升30%的实战经验
  • 【JavaScript 性能优化实战】第一篇:从基础痛点入手,提升 JS 运行效率
  • 领英矩阵增长的核心方法
  • UMI企业智脑 2.1.0:智能营销新引擎,图文矩阵引领内容创作新潮流
  • 测试你的 Next.-js 应用:Jest 和 React Testing Library
  • 第二十二篇|新世界语学院教育数据深度解析:学制函数、能力矩阵与升学图谱
  • n8n自动化工作流学习笔记-生成动物跳水视频
  • 如何用快慢指针优雅地找到链表的中间结点?——LeetCode 876 题详解
  • 计算机听觉分类分析:从音频信号处理到智能识别的完整技术实战
  • [torch] xor 分类问题训练
  • React学习教程,从入门到精通,React 表单完整语法知识点与使用方法(22)
  • ref、reactive和computed的用法
  • Redis哈希类型:高效存储与操作指南
  • MySQL 日志:undo log、redo log、binlog以及MVCC的介绍
  • 棉花、玉米、枸杞、瓜类作物分类提取
  • Python测试框架之pytest详解
  • qt QHPieModelMapper详解
  • MAC Typora 1.8.10无法打开多个md档
  • 零碳园区的 “追光者”:三轴光伏太阳花的技术创新与应用逻辑
  • MAC-Java枚举工具类实现
  • 「数据获取」全国村级点状矢量数据
  • Chromium 138 编译指南 macOS 篇:源代码获取(四)
  • 人工智能概念:NLP任务的评估指标(BLEU、ROUGE、PPL、BERTScore、RAGAS)
  • 机器学习基础:从线性回归到多分类实战
  • 深度学习基础:线性回归与 Softmax 回归全解析,从回归到分类的桥梁
  • Scikit-learn Python机器学习 - 分类算法 - 决策树
  • 【人工智能agent】--dify实现文找图、图找文、图找图
  • 基于 Landsat-8 数据的甘肃省金塔县主要农作物分类
  • 社区补丁的回复及常用链接