var filters = {
all: function (todos) {
return todos
},
active: function (todos) {
return todos.filter(function (todo) {
return !todo.completed
})
},
completed: function (todos) {
return todos.filter(function (todo) {
return todo.completed
})
}
}
filteredTodos: function () {
return filters[this.visibility](this.todos)
},
很想問filteredTodos這個方法呼叫filters方法怎麼有陣列呢?這是什麼用法呢?求解惑~
大家讲道理2017-05-19 10:20:18
filters[this.visibility]
這裡不是數組,是呼叫物件下的方法。
this.visibility
的结果可能有三个 all
, active
, completed
所以最後是類似這樣的東西:
filters['all']
就相当于调用了 filters
对象下的 all
方法,因为 this.visibility
是個變量,所以必須寫成這種寫法