Angular Event Emitter Error: 0개의 유형 인수가 필요하지만 1개를 받았습니다.
T.https://youtu.be/I317BhehZKM?t=57s 에 이 튜토리얼을 따라갔음에도 불구하고 "예상된 0개의 유형 인수, 그러나 1개를 받았습니다"라는 유형 오류가 발생합니다.
지정한 항목:
newUserInfoComplete:boolean = false
하지만 위에 지정된 오류가 발생했습니다.<boolean>
다음 줄에서:
@Output() newUserInfoCompleteEvent = new EventEmitter <boolean> ();
또한, 제가 단순히 생략한다면,<boolean>
다음 오류가 발생했습니다.
Argument of type 'boolean' is not assignable to parameter of type 'string'.
그리고 이거.New UserInfoComplete는 여기에 밑줄이 그어져 있습니다.
this.newUserInfoCompleteEvent.emit(this.newUserInfoComplete);
내 구성요소는 다음과 같습니다.
import { Component, OnInit, Output } from '@angular/core';
import { slideToRight } from '../../../../router.animations';
import { Router, ActivatedRoute, UrlSegment } from '@angular/router';
import { EventEmitter } from 'protractor';
@Component({
selector: 'app-new-user-input',
templateUrl: './new-user-input.component.html',
styleUrls: ['./new-user-input.component.css'],
animations: [slideToRight()]
})
export class NewUserInputComponent implements OnInit {
newUserInfoComplete:boolean = false
@Output() newUserInfoCompleteEvent = new EventEmitter <boolean> ();
constructor(private router: Router, r: ActivatedRoute) {
r.url.subscribe((s: UrlSegment[]) => {
console.log("url", s); //https://vsavkin.com/angular-router-understanding-router-state-7b5b95a12eab
});
}
ngOnInit() {
}
sendNewUserInfoComplete(){
this.newUserInfoCompleteEvent.emit(this.newUserInfoComplete);
}
displaySibling() {
console.log(this.router);
this.router.navigate(['../', { outlets: { newuserorginfo: ['newuserorginfo'] } }])
}
closeBlade() {
this.router.navigate([{ outlets: { newuserinput: null } }]);
}
}
가져오기 시도EventEmitter
부터@angualar/core
대신에protractor
:
import { Component, OnInit, Output, EventEmitter } from '@angular/core';
수입품을 확인하는 것을 잊었습니다!이런. 각도 코어 이벤트 이미터가 아닌 PROTRACTOR의 이벤트 이미터를 사용하고 있었습니다.
import { EventEmitter } from '@angular/core';
import { Component, OnInit, Output } from '@angular/core';
import { slideToRight } from '../../../../router.animations';
import { Router, ActivatedRoute, UrlSegment } from '@angular/router';
@Component({
selector: 'app-new-user-input',
templateUrl: './new-user-input.component.html',
styleUrls: ['./new-user-input.component.css'],
animations: [slideToRight()]
})
export class NewUserInputComponent implements OnInit {
newUserInfoComplete = false;
@Output() newUserInfoCompleteEvent = new EventEmitter<boolean>();
constructor(private router: Router, r: ActivatedRoute) {
r.url.subscribe((s: UrlSegment[]) => {
console.log("url", s); //https://vsavkin.com/angular-router-understanding-router-state-7b5b95a12eab
});
}
ngOnInit() {
}
sendNewUserInfoComplete() {
this.newUserInfoCompleteEvent.emit(this.newUserInfoComplete);
}
displaySibling() {
console.log(this.router);
this.router.navigate(['../', { outlets: { newuserorginfo: ['newuserorginfo'] } }])
}
closeBlade() {
this.router.navigate([{ outlets: { newuserinput: null } }]);
}
}
상위 답변에 언급된 것처럼 가져오기 안 함EventEmitter
'protractor'에서 '@protractor/core'에서 가져옵니다.
발생한 이유: 사용자가 사용했기 때문입니다.EventEmmiter
가져오기 전에 자동으로 'protractor' 모듈에서 가져옵니다.
import { Component, Output } from '@angular/core';
import { slideToRight } from '../../../../router.animations';
import { Router, ActivatedRoute, UrlSegment } from '@angular/router';
import { EventEmitter } from 'protractor';
@Component({
selector: 'app-new-user-input',
templateUrl: './new-user-input.component.html',
styleUrls: ['./new-user-input.component.css'],
animations: [slideToRight()]
})
export class NewUserInputComponent {
newUserInfoComplete = false;
@Output() newUserInfoCompleteEvent = new EventEmitter <boolean> ();
constructor(private router: Router, r: ActivatedRoute) {
r.url.subscribe((s: UrlSegment[]) => {
console.log("url", s);
});
}
sendNewUserInfoComplete(){
this.newUserInfoCompleteEvent.emit(!!this.newUserInfoComplete);
}
displaySibling() {
console.log(this.router);
this.router.navigate(['../', { outlets: { newuserorginfo: ['newuserorginfo'] } }])
}
closeBlade() {
this.router.navigate([{ outlets: { newuserinput: null } }]);
}
}
이것을 먹어보세요.
언급URL : https://stackoverflow.com/questions/50494949/angular-eventemitter-error-expected-0-type-arguments-but-got-1
'source' 카테고리의 다른 글
Angular2에서 문자열 값을 구성 요소에 전달하는 방법 (0) | 2023.08.13 |
---|---|
tnsnames.ora 파일이 없는 Oracle 연결 문자열 (0) | 2023.08.13 |
ResultSetExtractor와 Rowmapper의 차이점은 무엇입니까? (0) | 2023.08.08 |
두 숫자 사이에 UI 레이블 텍스트를 애니메이션화하시겠습니까? (0) | 2023.08.08 |
Excel VBA에서 사용자 정의 워크시트 함수 생성 (0) | 2023.08.08 |