这里用到的vue中的this.$set方法
一、什么是this.$set 为什么要用 怎么用
1、当你发现你给对象加了一个属性,在控制台能打印出来,但是却没有更新到视图上时,也许这个时候就需要用到this.$set()这个方法了,简单来说this.$set的功能就是解决这个问题的啦。官方解释:向响应式对象中添加一个属性,并确保这个新属性同样是响应式的,且触发视图更新。它必须用于向响应式对象上添加新属性,因为 Vue 无法探测普通的新增属性 (比如 this.myObject.newProperty = 'hi'),你会发现vue官网是vue.set,
vue.set的用法
(vue官方解释)。
2、用法:
举个例子:
numberData: [
number: {
number: '1',
toFixed: 0,
content: "{nt}"
text: "在线设备",
unit:"(台)"
number: {
number: '2',
toFixed: 0,
content: "{nt}"
text: "设备总数",
unit:"(台)"
(1)例如在这样的数组中的对象嵌套对象的结构,怎么去赋值才会正常的把数据渲染在页面中呢?下面给大家介绍this.$set的用法:
调用方法:this.$set( target, key, value )
target:要更改的数据源(可以是对象或者数组)
key:要更改的具体数据
value :重新赋的值
mouted(){
this.numberData[2] = {number:{number:'更改的值'}} //这时已经给他重新赋值了
methods:{
this.$set(this.numberData,2,{number:{number:'更改的值'}}) //用this.$set把数据更新到视图上去
这里用到的vue中的this.$set方法一、什么是this.$set 为什么要用 怎么用 1、当你发现你给对象加了一个属性,在控制台能打印出来,但是却没有更新到视图上时,也许这个时候就需要用到this.$set()这个方法了,简单来说this.$set的功能就是解决这个问题的啦。官方解释:向响应式对象中添加一个属性,并确保这个新属性同样是响应式的,且触发视图更新。它必须用于向响应式对象上添加新属性,因为 Vue 无法探测普通的新增属性 (比如this.myObject.newProperty .
在vue中,如果我们直接为对象增加新属性并赋值、数组的增删,并不会触发页面的更新,这是由于es5的限制
这时候就可以用this.$set(this.data,”key”,value’)
例如:this.$set(this.student,"age", 24)
<template v-for="outerItem in jsonData">
<h2>{{ outerItem }}</h2>
<template v-for="innerItem in outerItem">
<p>{{ innerItem.name }}</p>
</template>
</template>
</template>
在上面的例子中,我们首先使用第一个`v-for`指令遍历`jsonData`对象中的每个数组。然后,在嵌套的内部`v-for`指令中,我们可以访问每个数组中的元素,并展示它们的内容。
请注意,根据你的实际数据结构,你可能需要根据实际需要进行更深层次的嵌套循环。此外,如果你的数据层次较深或较复杂,你可能需要使用计算属性或方法来处理数据,然后在模板中调用它们。
希望以上回答能够帮助到你!如有任何疑问,请随时提问。