Javascript 在computed Vue.js中使用道具

Javascript 在computed Vue.js中使用道具,javascript,vue.js,vuejs2,Javascript,Vue.js,Vuejs2,我计算了如下属性: display() { return this.labs.map(function(x, i) { return [x, this.plotDt[i]]; }); } 它将数据作为道具接收: props: ["plotDt", "labs"], 它们是相同长度的数组(我输入两个数组:[a,b,c][1,2,3],希望得到映射数组:[[a,1],[b,2],[c,3] 但是,它不起作用,当我签入VueTools时,我收到

我计算了如下属性:

  display() {
     return this.labs.map(function(x, i) {
        return [x, this.plotDt[i]];
      });
    }
它将数据作为道具接收:

  props: ["plotDt", "labs"],
它们是相同长度的数组(我输入两个数组:
[a,b,c]
[1,2,3]
,希望得到映射数组:
[[a,1],[b,2],[c,3]

但是,它不起作用,当我签入VueTools时,我收到一条消息:
“评估期间出错”

我真的不知道在这种情况下会出现什么问题。

可能的解决方法是:

 display() {
     const vm = this;
     return this.labs.map(function(x, i) {
        return [x, vm.plotDt[i]];
      });
    }

您也可能需要使用方法而不是计算。是否介意共享代码笔?

在函数内没有作用域,除非使用箭头函数或将
映射绑定

这个问题可以像这样解决

display() {
 return this.labs.map((x, i)=> {
    return [x, this.plotDt[i]];
 });
}


实际上是
['a','b','c']
?它们的长度是否相同?您可能会看到:@depperm是的,当我在控制台中设置这些数组并运行映射方法时,它们正常工作。您有任何资源来处理这种情况吗?或者您只是当场想到了这一点吗?此函数可能与vue实例无关,所以这只是我的想法。
display() {
 return this.labs.map(function(x, i) {
    return [x, this.plotDt[i]];
  },this);
}