在页面加载时为 emberjs 应用程序引导数据的最佳方式是什么。我知道它很可能会从 data-for 属性或隐藏 div 中的数据获取数据,但是这会在 emberjs 应用程序生命周期中的哪个位置进行呢?
问问题
1291 次
1 回答
3
您可能正在加载几种不同类型的数据。我一直在使用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"
}];
在我的(小型)应用程序中,我只是在定义商店和模型后直接加载夹具数据。这适用于简单的一对一关联(想想类型或类别的静态列表)。当使用非固定类型数据时,它只是指定为model
路线上的属性,并在需要时加载。
更新
要在页面加载时预加载初始数据(例如,初始页面状态,如loginIn),您可以使用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'
于 2013-03-14T21:06:24.193 回答