(很抱歉,这个问题很简单,但我不知道如何在[...]
上进行搜索)
我不是Javascript英雄,但我也不是初学者。我在tutorial中看到了下面的代码,但不明白为什么未使用push
或该语法被称为什么。
addTodo(todo) {
this.todos = [...this.todos, todo]
}
为什么不只是:
addTodo(todo) {
this.todos.push(todo)
}
答案 0 :(得分:1)
如果您只是按下,则页面不会更新。使用扩展符号重新分配变量,使更改观察者可以查看更改并更新页面。
答案 1 :(得分:1)
这可能是一般情况的一些原因。如果将其与setter一起使用,则会触发该操作,并可能导致副作用。如果存在对该数组的另一个引用,它将不会像其他方式那样对其进行修改。
在这种情况下,是前者。我们正在使用设置器来触发DOM上的更新。