input - 角 5 输入输出
问题描述
在我的应用程序中,导航组件中有一个工具栏。这个导航组件是 app.component 的一部分,也是其他组件展示的地方。我有一个登录页面,我想从该页面将变量传输到 app.component,然后根据该变量更改工具栏。从登录组件,我通过 @output 和 eventemitter 传输变量,但在 app.component 我没有收到它。代码如下。
app.component.ts
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {
myrole = 'NoUser';
ngOnInit() {
console.log(this.myrole);
}
}
登录组件.ts
import { Component, OnInit, Output, EventEmitter } from '@angular/core';
import { Router, ActivatedRoute } from '@angular/router';
@Component({
selector: 'app-login',
templateUrl: './login.component.html',
styleUrls: ['./login.component.scss']
})
export class LoginComponent implements OnInit {
Name: string;
Pass: string;
@Output() myrole = new EventEmitter();
constructor(private rout: Router) { }
ngOnInit() {
}
OnName(event: any)
{
this.Name = event.target.value;
if (this.Name === 'admin' || this.Name === 'Admin') {
this.myrole.emit('admin');
} else if (this.Name === 'user' || this.Name === 'User') {
this.myrole.emit('user');
} else {
this.myrole.emit('NoUser');
}
console.log(this.myrole);
}
onPass(event: any)
{
this.Pass = event.target.value;
}
Submit() {
this.rout.navigate(['*']);
}
}
导航组件.ts
import { Component, OnInit, Input } from '@angular/core';
@Component({
selector: 'app-navi',
templateUrl: './navi.component.html',
styleUrls: ['./navi.component.css']
})
export class NaviComponent implements OnInit {
@Input() myrole: string;
ngOnInit(): void {
console.log(this.myrole);
}
}
app.component.html
<app-navi [myrole]='myrole'></app-navi>
<br>
<router-outlet></router-outlet>
解决方案
推荐阅读
- angular - 来自服务的角度加载组件被视为外部元素而不是主机元素
- javascript - 我可以将 webRTC Peer Connection 对象重新用于多用户聊天吗?
- ajax - Selenium 在按钮单击后获取 http 请求 ajax url
- eclipse - Eclipse 的颜色主题问题
- angular - 如何通过单击动态创建的打开图层自定义控件的按钮打开 mat-menu?
- networking - HAproxy 单臂负载均衡
- javascript - 无法从 event.body 解构
- javascript - 如何使用 ES 模块通过 URL 导入?
- azure - 非 Azure API 的 Azure API 管理设置
- python - 提高步行速度