EmberJS - นางแบบ
Model เป็นคลาสที่ขยายการทำงานของ Ember Data เมื่อผู้ใช้รีเฟรชเพจเนื้อหาของเพจควรแสดงด้วยโมเดล ใน Ember.js ทุกเส้นทางจะมีโมเดลที่เกี่ยวข้อง แบบจำลองนี้ช่วยปรับปรุงประสิทธิภาพของแอปพลิเคชัน ข้อมูล Ember จะจัดการข้อมูลที่จัดเก็บไว้ในเซิร์ฟเวอร์และยังทำงานได้อย่างง่ายดายกับสตรีมมิ่ง API เช่น socket.io และ Firebase หรือ WebSockets
แนวคิดหลัก
- Store
- Models
- Records
- Adapter
- Caching
เก็บ
ที่เก็บเป็นที่เก็บส่วนกลางและแคชของเร็กคอร์ดทั้งหมดที่มีอยู่ในแอปพลิเคชัน เส้นทางและตัวควบคุมสามารถเข้าถึงข้อมูลที่จัดเก็บไว้ของแอปพลิเคชันของคุณ DS.Store ถูกสร้างขึ้นโดยอัตโนมัติเพื่อแบ่งปันข้อมูลระหว่างวัตถุทั้งหมด
import Ember from 'ember';
export default Ember.Route.extend ({
model() {
return this.store.find();
}
});
โมเดล
Model เป็นคลาสที่ขยายการทำงานของ Ember Data ซึ่งระบุความสัมพันธ์กับอ็อบเจ็กต์อื่น ๆ เมื่อผู้ใช้รีเฟรชเพจเนื้อหาของเพจควรแสดงด้วยโมเดล
import DS from 'ember-data';
export default DS.Model.extend ({
owner: DS.attr(),
city: DS.attr()
});
บันทึก
บันทึกเป็นตัวอย่างของรูปแบบที่มีข้อมูลที่ถูกโหลดจากเซิร์ฟเวอร์และคุณสามารถระบุระเบียนโดยรูปแบบของประเภทและหมายเลข
//It finds the record of type 'person' and an 'ID' of 1
this.get('store').findRecord('person', 1); // => { id: 1, name: 'steve-buscemi' }
อะแดปเตอร์
อะแด็ปเตอร์เป็นอ็อบเจ็กต์ที่รับผิดชอบในการแปลเร็กคอร์ดที่ร้องขอจาก Ember เป็นการเรียกที่เหมาะสมไปยังแบ็กเอนด์เซิร์ฟเวอร์เฉพาะ ตัวอย่างเช่นถ้าคุณต้องการที่จะหาคนที่มี ID 1 แล้ว Ember จะโหลด URL โดยใช้ HTTP เป็น/ คน / 1
เก็บเอาไว้
บันทึกสามารถแคชโดยอัตโนมัติโดยที่เก็บและส่งคืนอินสแตนซ์อ็อบเจ็กต์เดียวกันเมื่อคุณโหลดเรกคอร์ดจากเซิร์ฟเวอร์เป็นครั้งที่สอง ซึ่งจะปรับปรุงประสิทธิภาพของแอปพลิเคชันของคุณและแสดง UI ของแอปพลิเคชันให้ผู้ใช้ทราบโดยเร็วที่สุด
ตารางต่อไปนี้แสดงรายละเอียดเกี่ยวกับรุ่นต่างๆ -
ส. | วิธีและคำอธิบายแบบจำลอง |
---|---|
1 | การกำหนดโมเดล
Model เป็นคลาสง่ายๆที่ขยายการทำงานของ Ember Data |
2 | การค้นหาบันทึก
คุณสามารถดึงข้อมูลเรกคอร์ดโดยใช้ที่เก็บข้อมูล Ember |
3 | การสร้างและการลบบันทึก
คุณสามารถสร้างและลบบันทึกบนอินสแตนซ์ของโมเดล |
4 | ความสัมพันธ์
Ember.js จัดเตรียมประเภทความสัมพันธ์เพื่อระบุว่าโมเดลมีความสัมพันธ์กันอย่างไร |
5 | ผลักดันบันทึกเข้าสู่ร้านค้า
คุณสามารถพุชระเบียนลงในแคชของร้านค้าโดยไม่ต้องขอบันทึกจากแอปพลิเคชัน |
6 | การจัดการข้อมูลเมตา
ข้อมูลเมตาคือข้อมูลที่ใช้สำหรับรุ่นหรือประเภทเฉพาะแทนที่จะใช้บันทึก |
7 | การปรับแต่งอะแดปเตอร์
Ember.js Adapter ระบุวิธีเก็บข้อมูลไว้ที่ที่เก็บข้อมูลแบ็กเอนด์เช่นรูปแบบ URL และส่วนหัว REST API |