angular - 在模板中使用 ngFor 和 @Input 装饰器显示多个相同组件
问题描述
我在我的外部组件模板中使用 ngFor 循环,通过单向绑定和 @Input 装饰器显示多个内部组件。
注意:出于隐私原因,我使用命名替代品。
外模板:
<h1>Things</h1>
<ul>
<li *ngFor="let obj of objects">
<app-inner-component [object]="obj"></app-inner-component>
</li>
</ul>
外TS码
export class DashboardComponent implements OnInit {
object = [
new Object('firstObject'),
new Object('secondObject')
];
...
对象模型
export class Object {
private name: string;
constructor(name: string) {
this.name = name;
}
}
内部组件模板
<h2>{{this.name}}</h2>
内部组件 TS 代码
export class InnerComponent implements OnInit {
@Input() object: Object;
渲染的 Outer 模板仅显示一个要点(不显示名称)。当我注释掉 HTML 选择器时app-inner-component
,会出现两个要点。
我希望外部模板为:
事物
-firstObject
-secondObject
解决方案
我能看到的第一件事是this
模板<h2>{{this.name}}</h2>
中的存在,它不应该存在于模板中。
你的模板应该是<h2>{{object.name}}</h2>
推荐阅读
- java - 如何在应用程序前台制作一个信号推送通知警报
- python - pd.Series.reset_index() 索引从 n1 到 n2
- powershell - 将默认参数添加到 Powershell Core 脚本
- android - 将firebase添加到android应用程序
- jquery - 由于目标被视为被动,无法在被动事件侦听器中阻止默认值?为什么滚动时出现此错误?
- json - 如何遍历嵌套的 json 数组并根据条件更改节点属性?
- c# - 如果我们将 a 与 á 进行比较,我怎样才能得到正确的结果?
- node.js - 如果我们将 nodejs 进程放在 docker 容器中,会对性能产生什么影响?
- php - 尝试使用 php PDO 更新语句通过 id 更新我的表上的数据
- php - laravel 与 mongodb ErrorException (E_WARNING) array_flip()