添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

这里用到的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`指令,我们可以访问每个数组的元素,并展示它们的内容。 请注意,根据你的实际数据结构,你可能需要根据实际需要进行更深层次的嵌套循环。此外,如果你的数据层次较深或较复杂,你可能需要使用计算属性或方法来处理数据,然后在模板调用它们。 希望以上回答能够帮助到你!如有任何疑问,请随提问。