Typescript 角度测量中的模板误差

Typescript 角度测量中的模板误差,typescript,firebase,firebase-realtime-database,angular5,angularfire2,Typescript,Firebase,Firebase Realtime Database,Angular5,Angularfire2,我正在尝试创建一个元素列表。以下是我的html模板: <div *ngFor="let item of items | async"> <item-detail [item]='item'></item-detail> </div> <button (click)='deleteItems()'>Delete Entire List</button> 这是我的项目列表.component.ts import {Comp

我正在尝试创建一个元素列表。以下是我的html模板:

<div *ngFor="let item of items | async">
  <item-detail [item]='item'></item-detail>
</div>
<button (click)='deleteItems()'>Delete Entire List</button>
这是我的
项目列表.component.ts

import {Component, OnInit} from '@angular/core';
import {FirebaseListObservable, FirebaseObjectObservable, AngularFireDatabase} from 'angularfire2/database-deprecated';
import {Item} from '../shared/item';
import {ItemService} from '../shared/item.service';

@Component({
  selector: 'app-items-list',
  templateUrl: './items-list.component.html',
  styleUrls: ['./items-list.component.scss']
})

export class ItemsListComponent implements OnInit {
  public items: FirebaseListObservable<Item[]>;
  constructor(private itemSvc: ItemService) {
  }
  ngOnInit() {
    this.items = this.itemSvc.getItemsList({limitToLast: 5});
  }
}
跟进错误:

Can't bind to 'item' since it isn't a known property of 'app-items-list'.
新代码:

<div *ngFor="let item of items | async">
  <app-items-list [item]='item'></app-items-list>
</div>

问题在于
项目详细信息
组件的选择器被定义为
'app-item-detail'
,这意味着Angular正在HTML中查找
标记

但是,您使用了
,angular不知道
项目详细信息是什么。把它改成
,一切都会好的



问题在于
项目详细信息
组件的选择器被定义为
'app-item-detail'
,这意味着Angular正在HTML中查找
标记

但是,您使用了
,angular不知道
项目详细信息是什么。把它改成
,一切都会好的




您可以发布您的
项目详细信息
组件的TS文件吗?很可能您没有正确定义输入属性。对不起,我甚至不知道它们是相关的。项目详细信息选择器应该是
selector:'item detail'
您能发布
项目详细信息组件的TS文件吗?很可能您没有正确定义输入属性抱歉,我甚至不知道它们是相关的。项目详细信息选择器应该是
selector:'item detail'
ooooooh ok。所以我可以在组件中更改它,或者在模板中更改它?是的,两者都可以。但是,惯例是在组件选择器前面加上应用程序的名称(通常默认为
app
),因此,我将保留
app-item-detail
以确保以下内容:1)
item-detailcomponent
已正确导入您的
app.module
2)
item-detailcomponent
的选择器为
“app-item-detail”
我有两个文件<代码>项目详细信息.component.ts
项目列表.component.ts
。现在,他们都在使用
。这是正确的吗?如果我将模板设置为
,则会将错误缩小为:
无法绑定到'item',因为它不是'app items list'的已知属性。
Oooooh ok。所以我可以在组件中更改它,或者在模板中更改它?是的,两者都可以。但是,惯例是在组件选择器前面加上应用程序的名称(通常默认为
app
),因此,我将保留
app-item-detail
以确保以下内容:1)
item-detailcomponent
已正确导入您的
app.module
2)
item-detailcomponent
的选择器为
“app-item-detail”
我有两个文件<代码>项目详细信息.component.ts
项目列表.component.ts
。现在,他们都在使用
。这是正确的吗?如果我将模板设置为
,则会将错误缩小为:
无法绑定到'item',因为它不是'app items list'的已知属性。
Can't bind to 'item' since it isn't a known property of 'app-items-list'.
<div *ngFor="let item of items | async">
  <app-items-list [item]='item'></app-items-list>
</div>
<div *ngFor="let item of items | async">
  <app-item-detail [item]='item'></app-item-detail>
</div>