我主要擔心的是,$event
顯示該行錯誤:
starClick($event) {
參數$事件隱含有 '任意' 類型
我也懷疑 - 根據Angular2文檔,$event
所做的是捕獲事件對象,因此讓我問一個愚蠢的問題 - 爲什麼我們不稱它爲$object
?因爲它讓我迷惑了不少,直到我終於意識到發生了什麼這裏..
import { Component } from '@angular/core';
@Component({
moduleId: module.id,
selector: 'stars',
template: `
<span class="glyphicon glyphicon-star-empty" (click)= "starClick($event)"></span>
`
})
export class StarsComponent {
starClick($event) {
if($event.target.className == "glyphicon glyphicon-star-empty") {
$event.target.className = "glyphicon glyphicon-star";
}
else{
$event.target.className = "glyphicon glyphicon-star-empty";
}
}
}
'$ event'在你的案例中有MouseEvent類型,你可以在你的方法中添加這個以避免警告。 – hiper2d
從EventEmitter傳遞'$ event'。如果它是ObjectEmitter,它將是'$ object' - 但事實並非如此。 – estus