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