【发布时间】:2019-03-08 17:00:43
【问题描述】:
我正在做一个 Angular 6 项目。
我需要在父组件和子组件之间进行通信(从父组件到子组件),但实际上通过使用 @Output 我无法实现这一点。
请帮助我了解以下代码。
子组件:survey.component.html
<div style="text-align:center">
<app-root (numberGenerated)='selectValue($event)'></app-root>
调查.component.ts
import { Component, OnInit, SkipSelf , Input, Output , EventEmitter} from '@angular/core';
import { AppComponent } from '../parent/app.component'
@Component({
selector: 'app-survey',
templateUrl: './survey.component.html',
styleUrls: ['./survey.component.css']
})
export class SurveyComponent implements OnInit {
selectValue( newValue : any ) {
console.log(newValue);
}
constructor(){}
ngOnInit() {
}
}
父组件:app.component.ts
import { Component, Input , Output , EventEmitter } from '@angular/core';
import { Router } from '@angular/router';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'BegumSurvey';
@Output() private numberGenerated = new EventEmitter<number>();
public generateNumber() {
const randomNumber = Math.random();
this.numberGenerated.emit(randomNumber);
}
constructor(){
}
ngOnInit() {
}
}
app.component.html
<button class="btn" (click)="generateNumber()">Fire event!</button>
能否请您帮助我理解为什么会出现“火灾事件!”没有打印出来?
非常感谢。
感谢任何帮助。
贝格姆
【问题讨论】:
-
对不起,我忘了打个招呼:)
-
应该可以,但我很困惑......似乎调查组件是父组件,而应用程序组件是子组件。在您的问题中,您的意思是不同的。
标签: angular