angularjs新手教程 factory利用callback传递参数的用法

在angularjs中 service/factory是与controller分开的另外一个概念
这时候 service/factory更像是model

例如

javascriptvar app = angular.module('demo.controllers', []);
//定义一些请求的url
app.factory('Path' , function(){
    return {
        main_request_url: 'http://0.0.0.0:3001/apis/v1_1/'
    }
});

app.factory('MediaResource' , ['$http' , 'Path' , function($http , Path){

    return {
        //这里传入一个callback参数 用来获取参数
        all_of_media: function(call_back_param){
            //发起一个简单地请求
            $http({
                url: Path.main_request_url+'/media.json' , 
                method: 'get', 
                headers: {
                    'Content-Type': undefined
                }
            }).then(function(data){
                //把请求到得资源传递给callback
                call_back_param(data);
            });
        }
    }

}]);

app.controller('MainCtrl' , function($scope , MediaResource){

    //同样传递一个callback进去
    MediaResource.all_of_media(function(params){
        //然后绑定到$scope 
        $scope.results = params.data;

    });

});

我也是初学者 希望这个例子应该比官网的容易理解吧

希望有研究cordova + angularjs的同学能写点关于cordova的博客

    原文作者:mot
    原文地址: https://segmentfault.com/a/1190000002468686
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞