我无法弄清楚如何将参数传递给作为 ngRoute 解析的一部分的函数。
就我而言,我正在用令牌做事。这些令牌是键入的,因此您不能使用相同的令牌进行确认、发送电子邮件和重置密码。这是我的路线的定义方式:
.when("/confirm/:token", {
controller: "confirmEmailController",
templateUrl: "/app/views/confirmEmail.html",
resolve: {
tokenStatus: getTokenStatus
}
})
.when("/reset/:token", {
controller: "resetPasswordController",
templateUrl: "/app/views/resetPasswordEmail.html",
resolve: {
tokenStatus: getTokenStatus
}
})
这是getTokenStatus
为他们两个调用的函数:
var getTokenStatus = ["$q", "$route", "tokenService", function($q, $route, tokenService)
{
var deferred = $q.defer();
var tokenType = ???? //<-- how do I pass this?
tokenService
.getTokenStatus($route.current.params.token, tokenType)
.success(function(response)
{
deferred.resolve(true);
})
.error(function()
{
deferred.resolve(false);
});
return deferred.promise;
}];
问题是,为了避免代码重复,我需要以某种方式传递令牌类型的值,如代码中标记的那样。我怎么能那样做?
在过去的两个小时里,我一直在搞砸这个,但似乎无法弄清楚。