角度2输出和均衡器不发射

时间:2016-07-18 09:15:31

标签: javascript angular

我正在学习角度2,我遵循本教程:tensor product 但输出和均衡器的整个部分都不起作用。 我没有得到任何错误,我无法弄清楚它为什么不起作用。

这是我的togglelink组件的代码:

import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';



@Component({
  moduleId: module.id,
  selector: 'app-togglelink',
  templateUrl: 'togglelink.component.html',
  styleUrls: ['togglelink.component.css']
})
export class TogglelinkComponent implements OnInit {

  @Input() state:boolean = true;
  @Output() onChange = new EventEmitter();

  onClick(){
    this.state = !this.state;
    this.onChange.emit(this.state);
  }

  constructor() {}

  ngOnInit() {
  }

}

这是使用togglelink组件的firstpage组件的代码:     从' @ angular / core'中导入{Component,OnInit};     从' ../ togglelink / togglelink.component';

导入{TogglelinkComponent}
@Component({
  moduleId: module.id,
  selector: 'app-firstpage',
  templateUrl: 'firstpage.component.html',
  styleUrls: ['firstpage.component.css'],
  directives: [TogglelinkComponent]
})
export class FirstpageComponent implements OnInit {

  thetogglestate:boolean = false;

  firsttitle = "the first title";
  constructor() {}

  ngOnInit() {
  }

}

这是firstpage组件模板的代码:            {{thetogglestate? '在' :'关闭'}}          

</p>
<h2 *ngIf="thetogglestate">
  {{firsttitle}}
</h2>
<p>
  firstpage works!
</p>

当我手动更改thetogglestate它确实有效,所以我明白问题出在输出和eventemitter部分。

任何想法为什么?

最好的问候

1 个答案:

答案 0 :(得分:2)

firstpage.component.html模板中,您需要为此事件注册一些处理以切换thetogglestate变量的值。

类似的东西:

<app-togglelink (onChange)="thetogglestate = !thetogglestate"></app-togglelink>