patterntypescriptangularCritical
access key and value of object using *ngFor
Viewed 0 times
keyobjectaccessandusingvaluengfor
Problem
I am a bit confused about how to get the
but I don't know how to do the same in angular2. I have tried something similar, without success:
Here is a plnkr with my attempt:
http://plnkr.co/edit/mIj619FncOpfdwrR0KeG?p=preview
How can I get
Is there any inbuilt pipe for doing the same in angular2?
key and value of an object in angular2 while using *ngFor for iterating over the object. I know in angular 1.x there is a syntax like ng-repeat="(key, value) in demo"
but I don't know how to do the same in angular2. I have tried something similar, without success:
{{key}}
demo = {
'key1': [{'key11':'value11'}, {'key12':'value12'}],
'key2': [{'key21':'value21'}, {'key22':'value22'}],
}
Here is a plnkr with my attempt:
http://plnkr.co/edit/mIj619FncOpfdwrR0KeG?p=preview
How can I get
key1 and key2 dynamically using *ngFor? After searching extensively, I found the idea of using pipes but I don't know how to go about it.Is there any inbuilt pipe for doing the same in angular2?
Solution
As in latest release of Angular (v6.1.0) , Angular Team has added new built in pipe for the same named as
For example -
To keep original order, use
and in component define callback:
Working Forked Example
check it out here for more useful information -
If you are using Angular v5 or below or you want to achieve using pipe follow this answer
keyvalue pipe to help you iterate through objects, maps, and arrays, in the common module of angular package.For example -
Key: {{item.key}} and Value: {{item.value}}
To keep original order, use
keyvalue:onCompare,and in component define callback:
// ...
import {KeyValue} from '@angular/common';
@Component(/* ... */)
export class MyComponent {
private onCompare(_left: KeyValue, _right: KeyValue): number {
return -1;
}
}Working Forked Example
check it out here for more useful information -
- https://github.com/angular/angular/blob/master/CHANGELOG.md#features-3
- https://github.com/angular/angular/commit/2b49bf7
If you are using Angular v5 or below or you want to achieve using pipe follow this answer
- access key and value of object using ngfor
Code Snippets
// ...
import {KeyValue} from '@angular/common';
@Component(/* ... */)
export class MyComponent {
private onCompare(_left: KeyValue<any, any>, _right: KeyValue<any, any>): number {
return -1;
}
}Context
Stack Overflow Q#35534959, score: 870
Revisions (0)
No revisions yet.