spu*_*len 6 ember.js ember-data
什么是在页面加载时为emberjs应用程序引导数据的最佳方法.我知道它很可能从数据属性或隐藏div中的数据中获取数据,但是在emberjs应用程序生命周期中这将会是什么?
您可能正在加载几种不同类型的数据。我一直在使用ember-data模型DS.FixtureAdapter(对于静态数据)或DS.RESTAdapter(对于动态数据。
这是一个使用固定装置的小例子:
App.Store = DS.Store.extend({
revision: 11,
adapter: 'DS.FixtureAdapter'
});
App.Page = DS.Model.extend({
title: DS.attr('string')
});
App.Page.FIXTURES = [{
id: 1,
title: "Test Title #1"
}, {
id: 2,
title: "Random Title #2"
}];
Run Code Online (Sandbox Code Playgroud)
在我的(小型)应用程序中,我只是在定义商店和模型后直接加载夹具数据。这对于简单的一对一关联非常有效(想想类型或类别的静态列表)。当使用非夹具类型数据时,它只是指定为model路线上的属性,并在需要时加载。
更新
要在页面加载时预加载初始数据(例如初始页面状态,如登录),您可以使用DS.Store#load:
Store = DS.Store.create({
revision: 11
});
Page = DS.Model.extend({
title: DS.attr('string')
});
Store.load(Page, {id: 1, title: 'Wow Cool Title'});
Store.find(Page, 1).get('title') //=> 'Wow Cool Title'
Run Code Online (Sandbox Code Playgroud)