5

在 angularjs 应用程序中,我试图使用自定义服务来保存应用程序的主要数据“项目”。但是,我想在初始页面加载时将数据引导到服务中,以避免向服务器发出单独的 ajax 请求来获取它。这样做最干净的方法是什么?

这是我的服务片段供参考:

app.factory('items', function() {
    var itemsService = {},
        items = [];

    itemsService.list = function() {
        return items;
    };

    itemsService.add = function() {
        /* ... */
    };

    return itemsService;
});

在后端,我使用的是 node.js + expressjs + jam,所以我将使用以下方法将数据注入页面:

!{JSON.stringify(items)}
4

2 回答 2

3

将来自服务器的引导数据放入全局 JavaScript 变量中。让您的服务分配items给该全局变量(或将数据复制到items)。

于 2013-03-20T21:16:07.937 回答
1

像这样的东西怎么样:

app.run(['items', function (items) {
   items.load();
}])

这假定您的items服务具有load使用 $http 或 $resource 执行实际 Ajax 工作的功能(或类似功能)。

于 2013-03-20T21:03:01.950 回答