javascript数组推送有效,但未分配给它的索引

时间:2018-09-03 12:10:22

标签: javascript vue.js

尽管这是在vuejs中完成的,但我坚信这与纯javascript相关,但我有这个doc_types数组,当我尝试为其索引分配一些值时,它不起作用,但是当我尝试将其正常工作时..

data: function () {
    return {
      doc_types: [],
    }
  },
  methods:  {
      populateDocType() {

                 this.doc_types.push(response.data); //this works
                 this.doc_types[0] = response.data //this doesn't...no errors though..just the array is unmodified..

      }
  }

1 个答案:

答案 0 :(得分:3)

我假设当您说触发监听器不起作用时,并不是说数据结构本身不会被更改。

这是Vue变更检测中的一个值得注意的警告。

解决方案是使用Vue的解决方法

Vue.set(array, indexOfItem, newValue)

或者您的情况

Vue.set(this.doc_types, 0, response.data)

此处对此进行了更全面的说明:https://vuejs.org/v2/guide/list.html#Caveats