在angularjs应用程序中,我尝试使用自定义服务来保存应用程序的主要数据“项目”。但是,我想在初始页面加载时将数据引导到服务中,以避免向服务器发出单独的ajax请求。这样做最干净的方法是什么?
以下是我的服务片段供参考:
app.factory('items', function() {
var itemsService = {},
items = [];
itemsService.list = function() {
return items;
};
itemsService.add = function() {
/* ... */
};
return itemsService;
});
在后端我使用node.js + expressjs + jade,所以我会使用以下内容将数据注入页面:
!{JSON.stringify(items)}
答案 0 :(得分:3)
将来自服务器的引导数据放入全局JavaScript变量中。让您的服务将items
分配给该全局变量(或将数据复制到items
)。
答案 1 :(得分:1)
这样的事情怎么样:
app.run(['items', function (items) {
items.load();
}])
这假设您的items
服务具有load
函数(或类似函数),它使用$ http或$ resource执行实际的Ajax工作。