使用Angularjs确认电子邮件地址
后端已创建用户,需要确认电子邮件,并已向该地址发送电子邮件(见下文) 请单击确认您的帐户 单击链接后,用户转到前端,我使用ui.router设置了以下路由: .state(“确认邮件”{ url“/confirmemail”, templateUrl:'client/view/confirmEmail.html'}) 如何使用上面的链接将其路由到此状态,以及如何访问用户和代码?使用Angularjs确认电子邮件地址,angularjs,angular-ui-router,Angularjs,Angular Ui Router,后端已创建用户,需要确认电子邮件,并已向该地址发送电子邮件(见下文) 请单击确认您的帐户 单击链接后,用户转到前端,我使用ui.router设置了以下路由: .state(“确认邮件”{ url“/confirmemail”, templateUrl:'client/view/confirmEmail.html'}) 如何使用上面的链接将其路由到此状态,以及如何访问用户和代码? 谢谢您可以使用stateParams: 在电子邮件中: <a href="yoururl/confirmemai
谢谢您可以使用stateParams: 在电子邮件中:
<a href="yoururl/confirmemail/idoftheuser">Link</a>
在控制器中:
var myId = $stateParams.id;
// Then lookup user with myId
用户单击的链接应转到您的站点/确认邮件。简单地说,只需让他们导航到与您所在州的url匹配的路由即可 至于传递信息,我可以想出几个选择。您可以传递一个查询字符串,yoursite/confirmemail?userId=123或其他什么,或者您可以设置路由来传递某种id(或其他信息)。两者的结果基本相同。同样,您可以在电子邮件链接中定义该路径,然后在点击该路径时捕获它 使用角度传递id的示例:
.state('confirmemail', {
url: '/confirmemail/:id',
resolve: {
id: function ($stateParams) {
return $stateParams.id;
}
}
}
并设置指向yoursite/confirmemail/123的链接,其中123是用户id
从那里,您可以将id注入控制器。如果我传递两个参数,如userid和code,那么一个简单的问题是状态上的代码是什么样子的?使用querystring样式的参数(confirmemail?id&code,而不是基本参数(/confirmemail/:id)。请参阅
.state('confirmemail', {
url: '/confirmemail/:id',
resolve: {
id: function ($stateParams) {
return $stateParams.id;
}
}
}