我是Angular的新手,请帮助。
我有两个组件。.一个用于索引,一个用于导航。
对于索引组件,存在子组件,这些子组件会通过变量productDivision的值进行更改。因此,如果productDivision = 1,子组件(A)将显示在索引中,如果productDivision = 2,则子组件2将显示为1。
所以我需要的是...如果单击导航栏上的一个元素,我希望更改产品部门的值..以便在索引中显示不同的子组件,这是我的代码。 那么如何从HTML获取productDivision变量的新值并将其分配给ts作为变量的新值
导航栏组件:html:
<nav id="nav-icons">
<a class="nav-icon-home" (click)="prodProvision === null; detectProductDivision() " routerLink="/">
<span class="nav-icon"></span><br />
Telefon
</a>
<a class="nav-icon-mobile" (click)="prodProvision === 1 ;detectProductDivision()" routerLink="/" >
<span class="nav-icon"></span><br />
Mobil
</a>
<a class="nav-icon-phone" (click)="prodProvision === 2; detectProductDivision()" routerLink="/">
<span class="nav-icon"></span><br />
Fax
</a>
navbar.ts
import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';
@Component({
selector: 'app-navbar',
templateUrl: './navbar.component.html',
styleUrls: ['./navbar.component.css']
})
export class NavbarComponent implements OnInit {
public productDivision: number;
public prodProvision;
@Output() public navbarEmitter = new EventEmitter();
constructor() { }
detectProductDivision() {
this.navbarEmitter.emit(this.prodProvision);
}
ngOnInit() {
}
}
}
答案 0 :(得分:2)
我不知道我是否理解正确,但是可以通过click函数传递值:
(click)="myClickFunction(valueThatIwantToPass)"
如果这不能解决您的问题,请扩大您的问题,以便为您提供更好的答案,谢谢!