vue 中this.$set 动态绑定数据的案例讲解
网络编程 2021-07-04 14:07www.168986.cn编程入门
这篇文章主要介绍了vue 中this.$set 动态绑定数据的案例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随长沙网络推广过来看看吧
感觉网上对this.$set的讲解乱糟糟的,我来一下对它单个数据、对象、数组、json数据的绑定.
话不多说直接上代码
<template> <div> <!-- 单个数据 --> <button @click="text0a">text0</button> <p>text0: {{text0}}</p> <!-- 对象 --> <button @click="textObja">textObj</button> <p>textObj.text1: {{textObj.text1}}</p> <!-- 数组 --> <button @click="textArra">textArr</button> <p>textArr[1]: {{textArr[1]}}</p> <!-- json数据 --> <button @click="textJsona">textJson</button> <p>textJson[1].t5: {{textJson[1].t5}}</p> </div> </template> <script> export default { data() { return{ text0 : '', textObj: {}, textArr: [], textJson:[ {t0: ''}, {t4: ''}, {t7: ''}, ] } }, methods: { text0a: function () { let vm = this let text100 = 'efghjk' vm.$set(vm,'text0',text100) //等效于 vm.$set(vm,'text0','efghjk') }, textObja: function () { let vm = this let textObj100 = { text1: '123', text2: '456' } vm.$set(vm.textObj,'text1',textObj100.text1) //此时等效于 vm.$set(vm,'textObj',textObj100) }, textArra: function () { let vm = this let textArr200 = ['a1','a2','a3'] vm.$set(vm,'textArr',textArr200) }, textJsona: function () { let vm = this let textJson300 = [ {t1: 't1',t2: 't2',t3: 't3'}, {t4: 't4',t5: 't5',t6: 't6'}, {t7: 't7',t8: 't8',t9: 't9'}, ] vm.$set(vm.textJson[1],'t5',textJson300[1].t5) //此时等效于 vm.$set(vm,'textJson',textJson300) } } } </script> <style> </style>
补充Vue 使用$set动态给数据设置属性
在实际的开发过程中,给表单元素绑定model的时候,绑定的元素的属性是根据后台数据动态生成的。如果使用常规的赋值方式,是无法更新视图的
需要使用
this.$set(dataName,keyName,keyValue)
export default { data:{ // 先定义一个空对象 formObject:{}, arrayList:[], }, mounted() { this.initPage() }, methods:{ initPage(){ this.$store.dispatch(namespace/callData).then(res=>{ // 给数据设置key-value res.data.forEach(item=>{ // ❗❗❗❗❗ this.formObject[item.name] = item.value // ❗❗❗❗ 这种方式是不能更新视图的 this.$set(this.formObject, item.name, item.value) // ✅✅✅✅可以更新视图 }) }) // 修改数组 this.$store.dispatch(namespace/callData).then(res=>{ // 给数据设置key-value this.$set(this.arrayList,0,(res.data)[0].id) ✅✅✅✅可以更新视图 }) } } }
以上为个人经验,希望能给大家一个参考,也希望大家多多支持狼蚁SEO。如有错误或未考虑完全的地方,望不吝赐教。
编程语言
- 甘肃哪有关键词排名优化购买方式有哪些
- 甘肃SEO如何做网站优化
- 河南seo关键词优化怎么做电话营销
- 北京SEO优化如何做QQ群营销
- 来宾百度关键词排名:提升您网站曝光率的关键
- 卢龙关键词优化:提升您网站排名的策略与技巧
- 山东网站优化的注意事项有哪些
- 四川整站优化怎样提升在搜索引擎中的排名
- 疏附整站优化:提升网站性能与用户体验的全新
- 海南seo主要做什么工作售后服务要做到哪些
- 荣昌百度网站优化:提升您网站的搜索引擎排名
- 河北seo网站排名关键词优化如何做SEO
- 江西优化关键词排名推广售后保障一般有哪些
- 古浪SEO优化:提升你的网站可见性
- 西藏网站排名优化怎么把网站排名在百度首页
- 如何提升阳东百度快照排名:详尽指南