Angularjs ui路由器忽略状态参数
我正在尝试在我的应用程序中实现一个忘记密码流,它从用户那里收集一些信息并将其传递到各个状态 在用户提交其员工ID以及他们希望将重置代码发送到的位置(电子邮件或电话)后,我会将这两个代码发送到令牌状态:Angularjs ui路由器忽略状态参数,angularjs,angular-ui-router,Angularjs,Angular Ui Router,我正在尝试在我的应用程序中实现一个忘记密码流,它从用户那里收集一些信息并将其传递到各个状态 在用户提交其员工ID以及他们希望将重置代码发送到的位置(电子邮件或电话)后,我会将这两个代码发送到令牌状态: $state.go("^.token", { employeeId: forgot.employeeid, resetType: forgot.resetType }); 我的路由器非常简单: $stateProvider.state("authentication.forgot", { u
$state.go("^.token", { employeeId: forgot.employeeid, resetType: forgot.resetType });
我的路由器非常简单:
$stateProvider.state("authentication.forgot", {
url: "/login/forgot",
templateUrl: "partials/authentication/forgot.html",
controller: "ForgotController as forgot",
onEnter: function () { $(document).foundation(); }
});
$stateProvider.state("authentication.token", {
url: "/login/token",
templateUrl: "partials/authentication/token.html",
controller: "TokenController as token",
onEnter: function () { $(document).foundation(); }
});
这是我的令牌控制器:
app.controller("TokenController", function ($state, $stateParams, $timeout, Authentication) {
console.log($stateParams);
});
在我的令牌控制器中,$stateparms最终是一个空对象。如果在$stateProvider定义中未指定任何参数,请在$stateProvider定义中放置url参数或定义
params
参数
url: "/login/token",
params: { object: {} },
templateUrl: "partials/authentication/token.html",
注意{}是object的默认值,如果在状态转换中没有指定参数,那么您可以通过
$sateParams.object
来访问它。您必须在状态声明中声明您试图访问的参数
$stateProvider.state("authentication.token", {
url: "/login/token?employeeId:[a-zA-Z0-9]*&resetType:[A-Z]",
templateUrl: "partials/authentication/token.html",
controller: "TokenController as token",
onEnter: function () { $(document).foundation(); }
});
然后,您可以通过$stateparms在控制器中访问这些