我有一个具有以下配置的路由提供商。
ocsApp.config(function($routeProvider){
$routeProvider
.when('/userStat/:pageNo' ,
{
templateUrl:'userStats',
controller:'userStatController',
resolve: {
loadData: searchController.loadData
}
});
});loadData函数,即resolve方法调用了一个需要大约6-7个参数的服务,我不希望这些参数出现在路由地址中,所有这些参数在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函数中传递这些参数。
发布于 2013-10-21 22:26:45
"searchController“作用域实际上并不存在于您所想的上下文中。
您应该做的是将当前在searchController作用域中的参数抽象到一个服务中,将您的参数放在那里,并将其注入到您的loaddata函数中。如果绑定很重要,您将不得不基于$watch手动更新该服务的参数,或者您可以将服务中的参数对象放入searchController作用域中,这样常规绑定就可以工作。
https://stackoverflow.com/questions/19496988
复制相似问题