引用此内部对象

时间:2016-08-19 11:46:18

标签: javascript object this

我在访问对象中的变量时遇到了一些麻烦。

当我尝试访问变量时,我得到了返回的未定义。

我的代码如下所示:

var app = {
  data: function() {
    this.labels = [1, 2, 3, 4, 5];
  },
  barChartData: {
    labels: this.labels, // this is undefined
    datasets: [{
        data: this.data1 // this is undefined
    }, {
        data: this.data2 // this is undefined
    }]
  },

  },
  init: function() {
    this.data();
  }
}
app.init();

2 个答案:

答案 0 :(得分:1)

我发现你有一个

  },

代码中的很多内容。然后是工作代码:

var app = {
  data: function(){
    this.barChartData.labels = [1, 2, 3, 4, 5];
    this.barChartData.data1 = [1, 2, 3, 4, 5];
    this.barChartData.data2 = [1, 2, 3, 4, 5];
  },
  barChartData:{
      labels: [],
      datasets: [{
          data: []
      }, {
          data: []
      }]    
  },

  init: function() {
    this.data();
  }
}
app.init();
console.log(app.barChartData.labels);

抱歉第一个错误代码。这个工作并初始化数组。

答案 1 :(得分:0)

知道了。感谢oliv37指出订单错误。

var app = {
  data: function() {
    this.labels = [1, 2, 3, 4, 5];
    this.data1 = [1, 2, 3, 4, 5];
    this.data2 = [1, 2, 3, 4, 5];
  },
  barChartData: function() {
    data = {
      labels: this.labels,
      datasets: [{
        data: this.data1
      }, {
        data: this.data2
      }] 
    }
  },
  init: function() {
    this.data();
    this.barChartData();
  }
}
app.init();