
Spine 函式庫
|
181
// 回傳所有的工作項目
Task.all(); //=> [Object]
// 回傳所有尚未完成的工作項目(done 屬性值是 false)
var pending = Task.select(function(task){ return !task.done });
// 讓每筆工作項目都叫用的回叫函式
Task.each(function(task){ /* ... */ });
此外,Spine 還有提供一些輔助函式,方便你透過屬性值來搜尋某幾筆特定資料:
// 找出第一筆符合傳入屬性名稱 / 值的工作項目
Task.findByAttribute(name, value); //=> Object
// 找出所有符合傳入屬性名稱 / 值的工作項目
Task.findAllByAttribute(name, value); //=> [Object]
模型事件
如果想在每次有人修改資料時,呼叫某個回叫函式,可以設定模型事件:
Task.bind("save", function(record){
console.log(record.name, " 儲存完成! ");
});
這麼一來,只要資料一被修改,該筆資料就會被傳進事件的回叫函式裡。上述做法是將
事件監聽器和整個 Task 模型綁在一起(只要模型中的任何一筆資料被修改,就會觸動
全域回叫函式),我們也可以讓事件監聽器只和模型裡的某筆特定資料綁在一起:
Task.first().bind("save", function(){ ...