ดูที่ตัวอย่างแหล่งที่มีคำอธิบายประกอบนี้ซึ่งพวกเขาเขียนทับBackbone.syncด้วยทางเลือกการจัดเก็บข้อมูลท้องถิ่น
กระดูกสันหลัง localStorage
พื้นฐาน Backbone.sync ควรเป็นฟังก์ชั่นที่รับ 4 อาร์กิวเมนต์:
Backbone.sync = function(method, model, options) { };
คุณจำเป็นต้องยิงอย่างใดอย่างหนึ่งoptions.successหรือoptions.errorขึ้นอยู่กับว่าmethodประสบความสำเร็จ วิธีการอยู่ในรูปแบบ:
"create" : คาดว่าคุณจะสร้างโมเดลบนเซิร์ฟเวอร์
"read" : คาดว่าคุณจะอ่านโมเดลนี้จากเซิร์ฟเวอร์และส่งคืน
"update" : คาดว่าคุณจะอัปเดตโมเดลบนเซิร์ฟเวอร์ด้วยอาร์กิวเมนต์
"delete" : คาดว่าคุณจะลบแบบจำลองจากเซิร์ฟเวอร์
คุณต้องใช้วิธีการทั้ง 4 วิธีและกำหนดสิ่งที่คุณต้องการ "server"
แน่นอนสิ่งเหล่านี้เป็นเพียงสิ่งที่Backbone.sync ต้องดำเนินการ คุณสามารถใช้งานได้มากขึ้นmethodsและคุณสามารถส่งผ่านพารามิเตอร์เพิ่มเติมกลับไปได้successแต่ก็ไม่ควรทำเช่นนี้
เป็นการดีที่สุดที่จะตรวจสอบให้แน่ใจว่ามันทำเช่นเดียวกับที่Backbone.syncทำอยู่ในปัจจุบันเพื่อให้การเขียนโปรแกรมของคุณไปยังอินเทอร์เฟซแทนที่จะเป็นการใช้งาน หากคุณต้องการเปลี่ยนการดัดแปลงของคุณBackbone.syncสำหรับการพูด localStorage คุณจะไม่ต้องขยายมันเองเพื่อให้ตรงกับ Backbone.sync ที่ขยาย "
[แก้ไข]
syncนอกจากนี้ยังทำทราบว่าคุณสามารถใช้หลายการใช้งานของ ทุกการอ้างอิงถึงBackbone.syncเป็น actaully (this.sync || Backbone.sync)ดังนั้นคุณต้องทำสิ่งที่ชอบ:
var MyModel = Backbone.Model.extend({
...
"sync": myOwnSpecificSync,
...
});
Backbone.syncเป็นเพียงค่าเริ่มต้นทั่วไปที่ทุกรุ่นใช้ยกเว้นรุ่นที่มีsyncวิธีการตั้งค่าโดยเฉพาะ