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方法怎麼有陣列呢?這是什麼用法呢?求解惑~
filters[this.visibility]
這裡不是數組,是呼叫物件下的方法。this.visibility
的结果可能有三个all
,active
,completed
所以最後是類似這樣的東西:filters['all']
就相当于调用了filters
对象下的all
方法,因为this.visibility
是個變量,所以必須寫成這種寫法