在页面加载时引导 emberjs 应用程序数据的最佳方法是什么。我知道它很可能会从 data-for 属性或隐藏 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"
}];
在我的(小型)应用程序中,我只是在定义商店和模型后直接加载夹具数据。这对于简单的一对一关联非常有效(想想类型或类别的静态列表)。当使用非固定类型数据时,只需将其指定为路线上的 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'
关于ember.js - 在 ember.js 中引导数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15419381/