W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
Ember的Store就像一個緩存池,用戶提交的數(shù)據(jù)以及從服務器獲取的數(shù)據(jù)會首先保存到Store。如果用戶再次請求相同的數(shù)據(jù)會直接從Store中獲取,而不是發(fā)送HTTP請求去服務器獲取。
當數(shù)據(jù)發(fā)生變化,數(shù)據(jù)首先更新到Store中,Store會理解更新到其他頁面。所以當你改變Store中的數(shù)據(jù)時,會立即反應出來,比如上一篇更新記錄小結(jié),當你修改article
的數(shù)據(jù)時會立即反應到頁面上。
你可以調(diào)用push()
方法一次性把多條數(shù)據(jù)保存到Store中。比如下面的代碼:
// app/routes/application.js
import Ember from 'ember';
export default Ember.Route.extend({
model: function() {
this.store.push({
data: [
{
id: 1,
type: 'album',
attributes: { // 設置model屬性值
title: 'Fewer Moving Parts',
artist: 'David Bazan'
songCount: 10
},
relationships: {} // 設置兩個model的關(guān)聯(lián)關(guān)系
},
{
id: 2,
type: 'album',
attributes: { // 設置model屬性值
title: 'Calgary b/w I Can\'t Make You Love Me/Nick Of Time',
artist: 'Bon Iver',
songCount: 2
},
relationships: {} // 設置兩個model的關(guān)聯(lián)關(guān)系
}
]
});
}
});
注意:type
屬性值必須是模型的屬性名字。attributes
哈希里的屬性值與模型里的屬性對應。
本篇不是很重要,就簡單提一提,如有興趣請看Pushing Records Into The Store的詳細介紹。
博文完整代碼放在Github(博文經(jīng)過多次修改,博文上的代碼與github代碼可能有出入,不過影響不大?。?,如果你覺得博文對你有點用,請在github項目上給我點個star
吧。您的肯定對我來說是最大的動力?。?/p>
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: