我正在基于angular和aws-amplify建立用户注册工作流程。在我为新用户签名后,需要执行确认步骤,我想将用户重定向到确认组件,在该组件中他需要输入确认代码。
这是我创建新用户的signUp方法:
signUp() {
if (this.signUpForm.valid === true) {
this.auth
.signUp(this.signUpForm.get('email').value, this.signUpForm.get('password').value)
.then(data => console.log(data))
.catch(err => console.log(err));
}
}
我不想简单地记录要路由到确认页面的数据。所以最终结果应该是这样的:
signUp() {
if (this.signUpForm.valid === true) {
this.auth
.signUp(this.signUpForm.get('email').value, this.signUpForm.get('password').value)
.then(data => this.router.navigate(['auth/confirm']))
.catch(err => console.log(err));
}
}
为了处理注册确认,我需要访问data
中代表新创建用户的某些内容。
如何使data
对象在目标组件中可访问?
但是我不喜欢为此使用角度环境的方法。
答案 0 :(得分:1)
这是一篇非常不错的文章,它介绍了几种在不同情况下传递数据的不同方法。 Chiffie提到的新方法未包括在内,这也是一种完全可行的方法。 https://angularfirebase.com/lessons/sharing-data-between-angular-components-four-methods/。使用服务共享数据是我个人解决的方法。
答案 1 :(得分:0)
https://stackoverflow.com/a/36835156/10179262 希望此答案有助于通过路由将数据共享到另一个组件。