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