Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度2输出和事件发射器不';不发射_Javascript_Angular - Fatal编程技术网

Javascript 角度2输出和事件发射器不';不发射

Javascript 角度2输出和事件发射器不';不发射,javascript,angular,Javascript,Angular,我正在学习angular 2,并遵循本教程: 但是输出和eventemitter的整个部分都不工作。 我没有得到任何错误,我也不明白为什么它不工作 这是我的togglelink组件代码: import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core'; @Component({ moduleId: module.id, selector: 'app-togglelink', templ

我正在学习angular 2,并遵循本教程: 但是输出和eventemitter的整个部分都不工作。 我没有得到任何错误,我也不明白为什么它不工作

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

}
这是第一页组件模板的代码: {{thetogglestate?'On':'Off'}}
</p>
<h2 *ngIf="thetogglestate">
  {{firsttitle}}
</h2>
<p>
  firstpage works!
</p>

{{firsttitle}} 首页有用!

当我手动更改日志状态时,它确实起作用,因此我知道问题在于输出和eventemitter部分

知道为什么吗


致意

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

诸如此类:

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

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

诸如此类:

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


不确定您的期望值。您需要
来侦听发出的事件。不确定您期望的是什么。你需要
来监听发出的事件。嘿,谢谢你的帮助。但我认为双向绑定是自动完成的,不是吗?不客气!是的,但有一点工作要做,即命名约定。您需要使用名为
stateChange
(后缀
Change
)的输出。现在,您将能够使用以下命令:
。在本例中,您将对
thetogglestate
属性进行双向绑定。嘿,谢谢您的帮助。但我认为双向绑定是自动完成的,不是吗?不客气!是的,但有一点工作要做,即命名约定。您需要使用名为
stateChange
(后缀
Change
)的输出。现在,您将能够使用以下命令:
。在本例中,您将对
togglestate
属性进行双向绑定。