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

为何要在 userListService.userList( newUserName ) 中加参数?

有几个问题想请教下,就是:

myServiceApp.factory('userListService', ['$http',

    function($http) {

        var doRequest = function(  username, path   ) {

            return $http({

                method: 'GET',

                url: 'users.json'

            });

        }

        return {

            userList: function(   username   ) {

                return doRequest(   username, 'userList'   );

            }

        };

    }

]);


myServiceApp.controller('ServiceController', ['$scope', '$timeout', 'userListService',

    function($scope, $timeout, userListService) {

        var timeout;

        $scope.$watch('username', function(newUserName) {

            console.log(newUserName);

            if (newUserName) {

                if (timeout) {

                    $timeout.cancel(timeout);

                }

                timeout = $timeout(function() {

                    userListService.userList(   newUserName   )

                        .success(function(data, status) {

                            $scope.users = data;

                        });

                }, 350);

            }

        });

    }

]);

代码中凡是斜体并加下划线的参数都可以去掉,(我试过了,可行),老师为何要加这些参数呢,尤其是  userListService.userList(   newUserName   ) 这个地方,如果要根据newUserName的值来筛选出部分数据显示在前台的话,也不必在这个地方,而是应该在请求成功后的  success  里面根据返回的data值来判断吧??请大神们帮忙看下

正在回答

4 回答

应该是想给后台传参数,但是课程是讲AngularJS,所以就放在那里,并没有用到。service示例,这个是我写的,增加了前台filter功能,主要改动如下

serviceModule.factory('userService', ['$http', function ($http) {

var doRequest = function (data, path) {

return $http({

method: 'GET',

url: path,

params: data,

paramSerializer: '$httpParamSerializerJQLike'

});

}

return {

userList: function (username) {

return doRequest({username: username}, 'data/http.json');

}

}

}]);


0 回复 有任何疑惑可以回复我~

抱歉,我看过视频后我也不太了解。前一个视频就是那个自定义的一个filter中的函数里的参数自动获取到页面的值,我也有点懵,不知道你现在的问题解决了没用,解决了能解答一下吗?谢谢。,

0 回复 有任何疑惑可以回复我~

我认为这么做是为了在后台能筛选出想要的列表在传回给前台,可以减小数据传输量。

0 回复 有任何疑惑可以回复我~

我也很想知道为什么doRequest方法里面要加上2个参数。。。

难道是后面能够用得到? 

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
AngularJS实战
  • 参与学习       205465    人
  • 解答问题       1158    个

一起学习AngularJS的基础教程,通过实例学习并学会AngularJS

进入课程

为何要在 userListService.userList( newUserName ) 中加参数?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信