值从html到ts

时间:2018-07-11 14:32:28

标签: javascript angular jhipster

我是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() {
      }
    }
    }

1 个答案:

答案 0 :(得分:2)

我不知道我是否理解正确,但是可以通过click函数传递值:

(click)="myClickFunction(valueThatIwantToPass)"

如果这不能解决您的问题,请扩大您的问题,以便为您提供更好的答案,谢谢!