[Angular-Scaled Web] 8. Using $http to load JSON data

Using the $http service to make requests to remote servers. 

 

categories-model.js:

angular.module('eggly.models.categories', [

])
    .service('CategoriesModel', function ($http, $q) {
        var CategoriesModel = {},
            URLS = {
                FETCH: 'data/categories.json'
            },
            categories;


        function extract(result) {
            return result.data;
        }

        function cacheCategories(result) {
            categories = extract(result);
            return categories;
        }

        CategoriesModel.getCategories = function() {
            return (categories) ? $q.when(categories) : $http.get(URLS.FETCH).then(cacheCategories);
        };

        return CategoriesModel;
    })
;

 

bookmarks-model.js

angular.module('eggly.models.bookmarks', [

])
    .service('BookmarksModel', function($http){
        var model = this,
            URLS = {
                FETCH: 'data/bookmarks.json'
            },
            bookmarks;

        function extract(result) {
            return result.data;
        }

        function cacheBookmarks(result) {
            bookmarks = extract(result);
            return bookmarks;
        }

        model.getBookmarks = function() {
            return $http.get(URLS.FETCH).then(cacheBookmarks);
        };
    })

;

 

posted @ 2014-12-26 03:11  Zhentiw  阅读(228)  评论(0编辑  收藏  举报