Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vue.js data()属性在使用axios加载值后同步_Vue.js_Axios - Fatal编程技术网

Vue.js data()属性在使用axios加载值后同步

Vue.js data()属性在使用axios加载值后同步,vue.js,axios,Vue.js,Axios,我正在使用axios加载字符串数组: beforeCreate () { this.$http .get('hashtags') .then(response => { this.tags = response.data.hashtags this.selectTags= response.data.hashtags }) } 我使用两个属性,因为我将使用其中一个属性创建复选框列表,另一个属性存储复选框。最初,将选中所有复选框 问题是:

我正在使用axios加载字符串数组:

beforeCreate () {
  this.$http
    .get('hashtags')
    .then(response => {
      this.tags = response.data.hashtags
      this.selectTags= response.data.hashtags
    })
}
我使用两个属性,因为我将使用其中一个属性创建复选框列表,另一个属性存储复选框。最初,将选中所有复选框

问题是:如果我从
selectTags
中删除了一个选项(使用Google Chrome Vue面板),则相同的选项将从
tag
属性中删除

此问题仅在使用axios时出现。在下面的示例中,我可以编辑一个属性而不更改另一个属性

beforeCreate () {
   this.tags = ['a', 'b', 'c']
   this.foo = ['a', 'b', 'c']
}

问题是两个属性都引用同一个数组对象

常见的解决方案是使用或创建其副本:

// ...
      this.tags = [...response.data.hashtags]
      this.selectTags= [...response.data.hashtags]
//...