Angular 真实财产不存在';不要显示内容

Angular 真实财产不存在';不要显示内容,angular,typescript,Angular,Typescript,我正在使用Angular2,我只想在属性为true时显示组件。 当sci等于true时,它应该显示,但不起作用 如果我设置了public-sci:boolean=true或public-sci:boolean=false它会按预期工作。 我知道这是一个基本情况,但我找不到解决办法,这对我来说毫无意义 component.html: <input type="checkbox" (change)="isSci($event.target.checked)"> <sci-compa

我正在使用Angular2,我只想在属性为true时显示组件。 当
sci
等于true时,它应该显示
,但不起作用

如果我设置了
public-sci:boolean=true
public-sci:boolean=false
它会按预期工作。 我知道这是一个基本情况,但我找不到解决办法,这对我来说毫无意义

component.html:

<input type="checkbox" (change)="isSci($event.target.checked)">
<sci-company-form *ngIf="sci"></sci-company-form>

打印$event时,它是否给出了预期的布尔值


我认为最好在声明为属性时为该布尔值设置一个初始值,以便在事件发生之前根据该条件检查ngIf时,它可以正常工作。

尝试不使用目标

<input type="checkbox" (change)="isSci($event.checked)">
<sci-company-form *ngIf="sci"></sci-company-form>

您还可以执行以下操作:

<input type="checkbox" [(ngModel)]="x"/>

<hello *ngIf="x"></hello>


这是您的console.log打印的是真还是假?因为它应该是很奇怪的working@yahyaelfakir是的,是的!我将替换
this.sci=$event
this.sci=!this.sci
:)您是否可以尝试将标记包装在div中,并将if条件置于div上。
但您的代码似乎仍然有效:。检查css属性或sci value或ngifI以外的其他内容不认为它可以工作,因为选中的是targetI的属性。我使用带有组件标记的
ngIf
更新了链接。仍然在毫无问题地工作。您在控制台上有任何错误吗?
<input type="checkbox" [(ngModel)]="x"/>

<hello *ngIf="x"></hello>