angular6 - 如何将一个组件表单输入的值发送到Angular 6中的另一个组件?
问题描述
我想在点击按钮后通过路由将登录组件中输入的用户名显示到主组件。
登录组件.html
<form>
<label for="">User Name</label>
<input type="text" #uname><br><br>
<label for="">Password</label>
<input type="password"><br><br>
<button (click)="login(uname.value)">Login</button>
</form>
登录组件.tc
constructor(private router:Router) { }
ngOnInit() {
}
login(uname:string){
this.router.navigate(['home']);
//alert(uname);
// console.log(uname);
}
homecomponent.html
<h3>Welcome to {{ userName }}</h3>
homecomponent.ts:
constructor(private route:ActivatedRoute) { }
userName : string;
ngOnInit() {
this.userName = this.route.snapshot.params.uname;
}
解决方案
如果您使用的两个组件之间没有关系,您可以定义一个包含用户名的服务并将您的用户名分配给 LoginComponent 中的该字段,然后在 HomeComponent 的 ngOnInit 上将其取回,这应该符合您的预期。
推荐阅读
- dynamics-crm - Microsoft.OData.Client $expand 不填充模型
- python - 如何以特定的间隔将项目插入列表以匹配另一个列表的 len?
- html - 相同的 css 在草图和浏览器中出现不同
- c - 如何在C中的整数数组中添加二次序列
- javascript - 来自 http 错误代码的错误描述 - react.js/javascript
- ruby-on-rails - 如何使用 Spree API 进行登录和注册功能?
- java - 如何从我的课程中获取课程以使用我的程序?
- r - 当数量更多时,ggplotly无法正常工作
- excel - 使用带有 if/else 语句的复选框的输入框调用函数
- go - 如何在 golang 中创建 .lock 文件并在退出前将其删除?