Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
传递作用域参数以解析函数angularjs_Angularjs_Parameters_Routes_Resolve - Fatal编程技术网

传递作用域参数以解析函数angularjs

传递作用域参数以解析函数angularjs,angularjs,parameters,routes,resolve,Angularjs,Parameters,Routes,Resolve,我有一个具有以下配置的路由提供程序 ocsApp.config(function($routeProvider){ $routeProvider .when('/userStat/:pageNo' , { templateUrl:'userStats', controller:'userStatController', resolve:

我有一个具有以下配置的路由提供程序

ocsApp.config(function($routeProvider){
        $routeProvider
            .when('/userStat/:pageNo' ,
            {
                templateUrl:'userStats',
                controller:'userStatController',
                resolve: {
                    loadData: searchController.loadData
                }

            });            
    });
loadData函数即resolve方法调用一个服务,该服务需要大约6-7个参数,我不希望这些参数出现在路由URL中,所有这些参数都在searchController范围内可用。是否有一种方法可以在loadData函数中传递这些参数

代码是这样的

     searchController.loadData=function($q,sessionFactory,$route){
            var deferred = $q.defer();
                sessionFactory.getSessions(siteId,startDate,endDate,pageNo,resultPerPage)
                success(function(data,status)
                {
                  deferred.resolve(data);
                 });

              return deferred.promise;
   };
是否有办法在loadData函数中传递这些参数。

您所考虑的上下文中实际上不存在“searchController”作用域

您应该做的是将当前在searchController作用域中的参数抽象到一个服务中,将您的参数放在那里,然后将其注入到loaddata函数中。如果绑定很重要,则您必须基于$watch手动更新该服务的参数,或者您可以将该服务的参数对象放入searchController作用域,常规绑定将起作用