angular - 以 Angular 显示事件选项卡

标签 angular

我正在尝试在 Angular 应用程序中显示事件选项卡。问题在于该选项卡位于子标题中,而指示哪个选项卡处于事件状态的组件位于另一个位置。我的代码会更好地解释。

子标题 HTML

<div class="col-6">
  <div class="action" > Contributions and savings </div>
  <div class="action"> Retirement strategy </div>
</div>

子 header TS

ngOnInit() {
  localStorage.getItem('step');
}

组件 HTML

<app-subheader></app-subheader>

组件 TS

localStorage.setItem('step', JSON.stringify(this.step));

现在,随着 localStorage 中的“Step”更新,每次值更改时我都需要 checkin subheader.ts,以便我可以更新选项卡以显示事件 CSS。任何想法,我都被困在这里。如何检查值何时发生变化? NgOninit 只执行一次。

最佳答案

要制作事件选项卡逻辑,您可以这样做:

HTML:

<button (click) = "clickTab(1)" [ngClass]="{'active': step === 1}">ONE</button>
<button (click) = "clickTab(2)" [ngClass]="{'active':step === 2}">TWO</button>

TS:

 ngOnInit() {
    this.step == 1;
    localStorage.setItem('step', JSON.stringify(this.step));
  }
  clickTab(stepValue){
    this.step = stepValue;
    localStorage.setItem('step', JSON.stringify(this.step));
  }

CSS:

.active, .btn:hover {
  background-color: #666;
  color: white;
}

这是工作示例:

https://stackblitz.com/edit/angular-tqnq6b

关于angular - 以 Angular 显示事件选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59727355/

相关文章:

angular - ng-bootstrap 预先输入选定的对象

Angular/ngrx - 对状态值进行分组和聚合

angular - 获取 401 未经授权的 Post 方法 [前端 - Angular 2 和后端 - Cakephp 3]

ios - 仅在 iOS (iphone) Safari 上不显示 Twilio 摄像机

html - 弹出框不会停留,页面滚动时位置会停留(Angular 4+)

Angular 阻塞(同步)http 调用

javascript - 如何在不同屏幕上获取本地存储数据?

angular - 我有一个新项目,但是当执行 ng serve 时,我得到错误

javascript - 如何区分原生的Ctrl+C和Ctrl+V以及使用Javascript添加的文档级监听器

angular - owl-carousel 不适用于带有 html 模板的 Angular *ngfor 循环