vue组件方法按变量更改数据

时间:2018-05-16 02:22:39

标签: vue.js vue-component

我想更改数组数据,在vue方法中更改它。

https://codepen.io/deded007/project/editor/AQyykN

我的问题是如何使用像这样的变量来改变数据

created() {
  var a=this.thisisarray;
  this.thisisarray=[10];
  console.log('a expected '+this.thisisarray+',but '+ a);
}

可以直接使用this.thisisarray。但是它无法更改变量a。我的变量仍在查看旧参考。我总是得到{{ 1}} 我想创建一个全局方法并传递我的变量a expected 10,but 9999来改变它。

a

1 个答案:

答案 0 :(得分:1)

数字被复制。一旦复制,t独立于tom

这不是一个虚拟的东西,这是javascript的工作原理。您对引用类型感到困惑。如果有的话

{
   tom: { value: 9999 }
}

然后做了

var t = this.tom;
this.tom.value = 10
console.log('t expected '+this.tom.value +',but '+ t.value);

你会得到你期待的东西

现在您已更改了代码:

您现在正在为数据分配新引用,但您的变量仍在查看旧引用。如果你没有分配一个新的数组,只是改变它的内容,你就会得到你期望的结果。

有关进一步说明,请搜索基本类型和引用类型,例如https://docstore.mik.ua/orelly/webprog/jscript/ch04_04.htm