Angular 2/4从循环索引中分配模型值

时间:2017-08-02 12:49:18

标签: javascript angular loops

我想从当前循环索引中分配模型值,但它不起作用。关于这个的任何想法

https://plnkr.co/edit/YccCBF98vCetWXJa1UJX?p=preview

  <p *ngFor="let person of peoples; let i = index;">
  
  <input type="hidden" [(ngModel)]="person.displayOrder" [value]="i+1" />
  
  </p>

2 个答案:

答案 0 :(得分:3)

为此我们需要创建一个自定义管道:

HTML:

textField

自定义管道

<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>

NgModule:

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; });
  }
}

她是Plunker的链接,请看一下。

答案 1 :(得分:0)

尝试使用ngValue代替value看看我给出的答案here

修改

抱歉,ngValue用于选择选项并且您有输入。 我尝试了你的初始代码,工作正常。你的错误是什么?