在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
添加回答
举报
0/150
提交
取消