无法读取属性';价值';在Angular2字体脚本中未定义的

无法读取属性';价值';在Angular2字体脚本中未定义的,angular,typescript,Angular,Typescript,我正在构建一个Angular2应用程序,并试图通过点击*ngIf 以下是我的看法: <router-outlet> <div class="releasesMenu" *ngIf="detailedInfo"> <h1>Releases</h1> <div class="search"> <input type="text" #search (keyup)="0" placeholder="Find releas

我正在构建一个Angular2应用程序,并试图通过点击
*ngIf

以下是我的看法:

<router-outlet>

<div class="releasesMenu" *ngIf="detailedInfo">
  <h1>Releases</h1>
  <div class="search">
    <input type="text" #search (keyup)="0" placeholder="Find release by its name, song or year">
  </div>
</div>

<div class="releasesOutlet container">
        <div class="row releasesBlock">
           <div *ngFor="let release of (releases| searchFilter: search.value )" class="releaseRender" (click)="onSelect(release)">
              <div class="releaseRenderWrap" *ngIf="!selectedRelease">
            <span>Something interesting...</span>
          </div>
       </div>

        <div class="releaseDetails" *ngIf="selectedRelease">
          <div class="releaseDetailsWrap">
                <span>Some details...</span>
          </div>
        </div>
      </div>
  </div>
</router-outlet>
我想要的是删除/隐藏我的
。releasesMenu
阻止
(单击)=“onSelect(release)
。但是我得到了错误: 无法读取未定义的属性“value”

这是因为
#search
位于
*ngIf

将其添加到components类中

@ViewChild('search')search:ElementRef;
并将
*ngFor
更改为

*ngFor="let release of (releases| searchFilter: search?.nativeElement?.value )"
另见

*ngFor="let release of (releases| searchFilter: search?.nativeElement?.value )"