Javascript 角度2输出和事件发射器不';不发射
我正在学习angular 2,并遵循本教程: 但是输出和eventemitter的整个部分都不工作。 我没有得到任何错误,我也不明白为什么它不工作 这是我的togglelink组件代码: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
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
属性进行双向绑定。