使用Angularjs确认电子邮件地址

时间:2015-12-30 18:33:05

标签: angularjs angular-ui-router

后端创建了用户,需要确认电子邮件并发送到该地址(见下文)

请点击确认您的帐户

点击链接后,用户进入前端我使用ui.router进行以下路由设置:

.state(' confirmemail',{      网址' / confirmemail&#39 ;,      templateUrl:' client / view / confirmEmail.html' })

如何使用上述链接将此路由到此状态?如何访问用户和代码? 谢谢

2 个答案:

答案 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注入控制器。