后端创建了用户,需要确认电子邮件并发送到该地址(见下文)
请点击确认您的帐户
点击链接后,用户进入前端我使用ui.router进行以下路由设置:
.state(' confirmemail',{ 网址' / confirmemail&#39 ;, templateUrl:' client / view / confirmEmail.html' })
如何使用上述链接将此路由到此状态?如何访问用户和代码? 谢谢
答案 0 :(得分:2)
您可以使用stateParams:
在电子邮件中:
.state('confirmemail', { url'/confirmemail/:id', ... })
在你的配置中:
var myId = $stateParams.id;
// Then lookup user with myId
在您的控制器中:
select count(*) from(select a from tt where a is null
union all
select b from tt where b is null
union all
select c from tt where c is null)
答案 1 :(得分:0)
用户点击的链接应该转到yoursite / confirmemail。就这么简单,只需让它们导航到与您所在州的网址匹配的路线。
至于传递信息,我可以想到几个选项。您可以传递查询字符串,yoursite / confirmemail?userId = 123或其他任何内容,或者您可以设置路由以传递某种ID(或任何可能的信息)。要么基本上都有相同的结果。同样,您可以在电子邮件链接中定义此内容,然后在该路径被命中时捕获它。
使用angular传递id的示例:
.state('confirmemail', {
url: '/confirmemail/:id',
resolve: {
id: function ($stateParams) {
return $stateParams.id;
}
}
}
并设置指向yoursite / confirmemail / 123的链接,其中123是用户ID。
从那里你可以将id注入控制器。