鍍金池/ 問答/Java  HTML/ vue methods 里的方法改變不了data的值?

vue methods 里的方法改變不了data的值?

clipboard.png

值是上圖這樣的數(shù)組,比較特殊的是我要改變value這個字段。

改變方法如下:

clipboard.png

但是其他的字段可以改變,唯獨value這個一直改變不了。推測可能和value這個關(guān)鍵字有關(guān)系。

回答
編輯回答
冷咖啡

vue里直接修改數(shù)組某項的值,vue檢測不到變化,不知道你說的修改不了是不是console.log打印出來的值沒有變,還是頁面上的數(shù)據(jù)沒有變
https://cn.vuejs.org/v2/guide...

2018年1月14日 07:35
編輯回答
拮據(jù)

你的數(shù)據(jù)是ajax獲取的么?data初始化的時候tranList是不是設(shè)置的為null或者干脆就沒有這個?如果在ajax之前沒有定義這個屬性,就不會監(jiān)控這個屬性,需要用this.$set('tranList',data)在ajax成功后賦值

2018年5月10日 00:21
編輯回答
殘淚

你目前發(fā)的代碼沒什么問題
至于檢測數(shù)組沒問題
forEach其實是:
this.tranlist[0].value += 1 Vuedata進行了遞歸處理你這樣改的是對象 所以沒問題
arr[0] = 1 改的是數(shù)組不行
arr[0].name = 1 改的是數(shù)組里的對象可以

2017年1月8日 09:41
編輯回答
尛憇藌

直接修改值是檢測不到變化的
需要用Vue的方法
上代碼
import Vue from 'vue'

Vue.set(this.tranList, 1, {

value: 0,
name: '',
text: ''

})

2017年6月16日 08:36
編輯回答
懷中人

直接改變數(shù)據(jù)里面的值vue是檢測不到的,除非用

  • push()
  • pop()
  • shift()
  • unshift()
  • splice()
  • sort()
  • reverse()

所以你這個可以用this.$set(this.tranList,this.tranList[index],item+1)

2017年6月28日 07:09