我想用@Input在子組件和父組件之間共享一個變量。我在我的父組件聲明public HiddenFlag: Boolean = true;
和在HTML我稱這樣的孩子:無法綁定到'HiddenFlag',因爲它不是'app-fog'的已知屬性
<app-fog [hidden] = "HiddenFlag" [HiddenFlag] = "HiddenFlag"></app-fog>
的App-霧是我的孩子組成:
import { Component, OnInit, Input } from "@angular/core";`
@Component({
selector: "app-fog",
templateUrl: "./fog.component.html",
styleUrls: ["./fog.component.css"]
})
export class FogComponent implements OnInit {
@Input() public HiddenFlag: Boolean;
public fogClass: String;
public OverlayClass: String = "hidden";
constructor() { }
ngOnInit() { }
Close() {
this.HiddenFlag = true;
}
}
的問題是,如果我嘗試加載網站,它說:
Uncaught Error: Template parse errors: Can't bind to 'HiddenFlag' since it isn't a known property of 'app-fog'
如果我刪除[HiddenFlag] = "HiddenFlag"
錯誤消失。如果你能提供任何幫助,將不勝感激。
編輯:Thx所有的答案。說實話,我仍然不知道問題是什麼,但這個問題不知怎麼解決了。
這是'boolean',不'Boolean'。而'string',而不是'String'。如果組件本身無法訪問,也可能因爲它未包含在模塊中而發生此問題。作爲一個手段性的問題,避免使用大寫的屬性名稱。大寫的標識符意味着指代類。 –
您是否在相關模塊聲明中包含了「FogComponent」組件? –
是的,我有他們都在同一模塊以及。 – Nikolai