For this we need to create a custom pipe :
HTML :
<div>
<h2>Hello {{name}}</h2>
<p *ngFor="let person of (peoples | changeOrder); let i= index;">
{{person.name}} <input type="text" name='{{i}}' [(ngModel)]="person.order" />
</p>
</div>
Custom Pipe :
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({ name: 'changeOrder' })
export class changeOrder implements PipeTransform {
transform(allPeoples) {
return allPeoples.map( ( val ,index) => { val.order = index; return val; });
}
}
NgModule :
@NgModule({
imports: [ BrowserModule,FormsModule ],
declarations: [ App , changeOrder ],
bootstrap: [ App ]
})
Hers is the link to Plunker , please have a look.