vue 对集合中的对象赋值,页面不变化
2021-06-18 本文已影响0人
cain07
1.写法尝试
item:{} 创建一个心得对象
this.item = Object.assign({}, info)
- 克隆一个新的对象
this.pointItem = cloneDeep(infoMarker)
对集合中的对象遍历后,呈现在页面,点击包含某个对象渲染出的页面元素时,修改当前点击元素所对应的这个对象中的属性值,发现页面上对应字段并未改变,可用以下方法处理:
this.$set(this.couponArr,indexs,item);
第一个参数为对应数组,第二个为数组对应的index,第三个为修改后的对象。
这个是 更新 整个数组里面的。不是针对对象的
加上之后报错
Vue 报错TypeError: this.$set is not a function 的解决方法
报错原因:这里的this指向的不是VueModel,
解决方法1:在执行函数中定义指向Model的变量 let vm = this ,用该变量替代this
解决方法2:将。siccess改为箭头函数的写法,这样子箭头函数里的this其实是指向VueModel的,这样子用this看不会报错了
success: (data) => {
this.$set(this.$data, 'translatedText', data.translation[0])
}
4.最后解决 分别对对象中的 元素赋值
let sendParams = {
orgName: params.orgName,
provinceName: params.provinceName
}