考虑这段代码
@Component({
selector : 'child',
template : `
<button (click)="sendNotification()">Notify my parent!</button>
`
})
class Child {
@Output() notifyParent: EventEmitter<string> = new EventEmitter();
sendNotification() {
this.notifyParent.emit('Some value to send to the parent');
}
}
@Component({
selector : 'parent',
template : `
<child (notifyParent)="getNotification($event)"></child>
`
})
class Parent {
getNotification(evt: boolean) {
// Do something with the notification (evt) sent by the child!
}
}
技术上getNotification(evt: boolean)
的参数类型错误,但是tsc不会抛出错误?我也尝试了多个事件类型对组合,只要类型在范围内,它们似乎都没有达到错误。
事实上,无论何时传入$event
,似乎ngcli tsc都会忽略类型参数。
例如
(ngModelChange)="selectTest($event)"
selectTest(test: anyType) {
}
以上将始终编译。
我做错了吗?
注意:我正在使用ng-cli ie。 ng serve
这是我正在使用的版本
@angular/cli: 1.3.2
node: 8.2.1
os: darwin x64
@angular/animations: 4.3.6
@angular/common: 4.3.6
@angular/compiler: 4.3.6
@angular/core: 4.3.6
@angular/forms: 4.3.6
@angular/http: 4.3.6
@angular/platform-browser: 4.3.6
@angular/platform-browser-dynamic: 4.3.6
@angular/router: 4.3.6
@angular/cli: 1.3.2
@angular/compiler-cli: 4.3.6
@angular/language-service: 4.3.6