为什么数组长度不在浏览器中显示?

时间:2015-11-27 15:40:37

标签: javascript html reactjs return

代码:

initialize: function() {
    this.todos = [
      {id: 100, text: 'Rich'},
      {id: 200, text: 'Dave'}
    ];
  },



activeTodos: function() {
    this.todos = this.todos.length(function() {
      return this.todos;
    });
    this.emitChange();
  }



<p>Todo's Remaining: {this.activeTodos} </p>




activeItems: function(){
    this.context.executeAction(activeToDosAction);
  },

说明:

我正在尝试将数组的大小打印到浏览器窗口(这可以在代码中的<p>标记中看到)。到目前为止还没有任何显示,我无法弄清楚为什么。 activeTodos应该调用todos的长度。

如果有人需要,我可以发布更多代码。我正在使用reactjs因此HTML中的{}括号

4 个答案:

答案 0 :(得分:0)

那里有几件奇怪的事情。如果您只需要显示this.todos的长度,您可以执行以下操作:

<p>Todo's Remaining: {this.todos.length} </p>

答案 1 :(得分:0)

我认为这里的问题是你将函数传递给length。这不是必需的。

如果您将代码更改为:

,则代码应该有效
activeTodos: function() {
  return this.todos.length;
}

我不确定你的函数emitChange应该做什么,所以我现在在代码示例中省略了它。如果您需要调用它,请将其放在返回之前,因为这是您在函数中运行的最后一件事。

答案 2 :(得分:0)

首先,要访问阵列的长度,你只需要做

myArray = [1, 2, 3];
myArray.length; //3

此外你有两个功能:initialize和activeTodos你使用this.todos = ...

如果没有进一步的解释,我假设在2个不同的函数中使用关键字“this”创建的这些变量超出了分数。

验证你的this.todos引用了同样的东西。

答案 3 :(得分:0)

你不需要active.Todos(),因为.length本身就是一个内置函数。

只做

Todo's Remaining:{this.todos.length}

干杯。