为了账号安全,请及时绑定邮箱和手机立即绑定

angularJS service传参的一个问题

angularJS service传参的一个问题

慕雪6442864 2019-03-15 18:19:55
在sf上看到一个关于angularJS传参的问题,链接 在此代码如下:var app = angular.module('demo.controllers', []);//定义一些请求的urlapp.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;    });});其中,由call_back_param(data),可以直接params.data,不太明白,为什么可以这样呢?
查看完整描述

1 回答

?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

call_back_param是all_of_media的参数,是一个函数

在请求完之后调用,并把请求到的数据传给这个函数


call_back_param(data);

而你通过,调用MediaResource.all_of_media,把


function(params){

        //然后绑定到$scope 

        $scope.results = params.data;


    }

传给了它作为参数,也就是上面定义的


call_back_param


查看完整回答
反对 回复 2019-03-25
  • 1 回答
  • 0 关注
  • 299 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信