传递作用域参数以解析函数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作用域,常规绑定将起作用