messages = [{
'One' : [
{'id' : 1},
{'id' : 2},
],
'Two' : [
{'id' : 1},
{'id' : 2},
]
}] ;
<div *ngFor="let message of messages">
<div>KEY</div>
<div *ngFor="let value of message">VALUE</div>
</div>
在组件中:
this.messages = data['messages'] ;
this.keys = Object.keys(data['messages']);
鉴于:
<div *ngFor="let key of keys">
<div>{{key}}</div>
<div *ngFor="let message of messages[key]">{{message['id']}}</div>
</div>
如果不想创建管道,可以公开object.keys
,如下所示。
您的组件:
@Component({
...
})
export class YourComponent{
objectKeys: any = Object.keys;
messages: Array<any>;
constructor(){}
...
}
HTML:
<div *ngFor="let message of messages">
<div *ngFor="let key of objectKeys(message)">
<div>KEY: {{ key }}</div>
<div *ngFor="let val of message[key]">{{ val.id }}</div>
</div>
</div>
KEY: One
1
2
KEY: Two
1
2
我试图在angular 2模板中显示一个对象值,特别是当我试图使用ngFor获得一个对象数组时,会给我一个错误 这是我的模型
是否可以在模板驱动的表单中使用ngFor创建输入字段,并使用类似#name=“ngmodel”的东西来在另一个标记中使用name.valid? 现在,我们有一个动态的产品列表,在一个表中有一个数量字段和一个添加到购物车按钮。我想把整个事情变成一个表单,末尾有一个add all按钮,如下所示: 但是如何为NGModel每行生成一个新的变量名呢?
在Angular 2中,我如何使用ngfor在重复列表中获得与NgModel的双向绑定。下面是我的plunkr和代码,但我得到了一个错误。
我有一个我在离子中重新开发的应用程序,大约一年前我在离子v1中做过。我有多个模板类型,用户将从中选择,我想做一个动态组件,根据用户配置值加载其templateURL。因此,除了加载组件和获得正确的模板之外,一切都在进行中,除了当我运行应用程序时,它会给出模板错误,就好像它不知道ngModel是一个角属性一样。这是我所拥有的: 这是我的模板: 以下是我在Chrome开发工具中的错误: 无法绑定到ng
我一直在Cro中使用模板(记录在https://cro.services/docs/reference/cro-webapp-template),并享受其中的潜水艇。 我目前有一个“主”模板和一些报告,比如说报告1、报告2和报告3。 比如说,在report3中,我想包含一个report1数组。 现在,假设每个报告都有以下子部分: > HTML:报告的每个实例都应该包含一些HTML代码(带有一些参数
我需要声明一个可以存储不同类型容器的类。也就是说,如果它能处理STD::Bitset和STD::Array就好了。但是,这两个类需要不同的模板参数······是否可能(以及如何)使用模板化模板类和可变模板来声明此类类? 示例(但错误):