javascript - 从 html 到 ts 的值
问题描述
我是 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>
导航栏.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() {
}
}
}
解决方案
我不知道我是否理解正确,但您可以通过 click 函数传递值:
(click)="myClickFunction(valueThatIwantToPass)"
如果这不能解决您的问题,请扩展您的问题,以便我可以为您提供更好的答案,谢谢!
推荐阅读
- spring-boot - 如何在 Spring Data JPA 中为每个数据库上的计划作业在运行时更改数据库属性(url、用户名、密码等)?
- excel - 为给定范围内的当前和相邻单元格添加边框
- python - pandas / numpy 减少 na 检查的时间 (is_valid_na_for_dtype / is_na)
- c# - 无法定义两个对象之间的关系,因为它们附加到不同的 ObjectContext 对象重复对象
- python - 争论作者全名到出版类型(全名,名字首字母)
- javascript - 基于角色的授权导致我无限循环 React
- oracle - Oracle 外部表中记录和字段的多个分隔符问题
- javascript - XMLHttpRequest 在 WordPress 和 XYZ 代码片段中不起作用
- amazon-web-services - 为什么我的 Lambda 函数有时只写入我的 DynamoDB 表?
- c# - xUnit 多个测试的相同输入