当前位置: 首页 > 知识库问答 >
问题:

NgFor中NG模型的角2-2路结合

羊舌自强
2023-03-14

在Angular 2中,我如何使用ngfor在重复列表中获得与NgModel的双向绑定。下面是我的plunkr和代码,但我得到了一个错误。

@Component({
  selector: 'my-app',
  template: `
  <div>
    <div *ngFor="let item of toDos;let index = index;">
      <input [(ngModel)]="item" placeholder="item">
    </div>
    Below Should be binded to above input box
    <div *ngFor="let item of toDos">
      <label>{{item}}</label>
    </div>
  </div>
  `,
  directives: [MdButton, MdInput]
})
export class AppComponent { 
  toDos: string[] =["Todo1","Todo2","Todo3"];
  constructor() {}
  ngOnInit() {
  }
}

共有1个答案

史修明
2023-03-14

挖了一圈后,我需要在Ngfor上使用trackBy。更新的plnkr和代码如下。希望这能帮助其他人。

工作Plnkr

@Component({
  selector: 'my-app',
  template: `
  <div>
    <div *ngFor="let item of toDos;let index = index;trackBy:trackByIndex;">
      <input [(ngModel)]="toDos[index]" placeholder="item">
    </div>
    Below Should be binded to above input box
    <div *ngFor="let item of toDos">
      <label>{{item}}</label>
    </div>
  </div>
  `,
  directives: [MdButton, MdInput]
})
export class AppComponent { 
  toDos: string[] =["Todo1","Todo2","Todo3"];
  constructor() {}
  ngOnInit() {
  }
  trackByIndex(index: number, obj: any): any {
    return index;
  }
}
 类似资料:
  • 是否可以在模板驱动的表单中使用ngFor创建输入字段,并使用类似#name=“ngmodel”的东西来在另一个标记中使用name.valid? 现在,我们有一个动态的产品列表,在一个表中有一个数量字段和一个添加到购物车按钮。我想把整个事情变成一个表单,末尾有一个add all按钮,如下所示: 但是如何为NGModel每行生成一个新的变量名呢?

  • 我想知道我是否有像这样的和的组合。当Angular创建其元素时,什么将首先运行? <代码> 想象一下,我们有一个包含几千个< code >项目的< code >项目列表,并且< code>ngFor首先运行,这种情况会使应用程序完全崩溃。当然,我可以使用一个< code>div来包装它,并将< code>ngIf放在那里,但是了解更多这方面的知识是非常重要的。谢了。

  • 我是angular的新手,我有一个愚蠢的问题,我如何显示*ngfor循环之外的实际项目数? 我使用这样的过滤和分页管道 我知道有一个变量“count”,但当然它只在那个循环中可用,我如何在组件中获得这个变量,我需要创建新的组件,把它放在那个循环中,通过指令传递“count”还是有更简单、更干净的方法?

  • 在组件中: 鉴于:

  • ng-book 2 是一个 AngularJS 2 学习教程,它能提供给你绝佳的教学指导和具有代表性的实例,让你摆脱那些混乱的指导教材,节省你的时间。如果你想在段时间内夯实基础,掌握整个框架,你应该学习更为专业的知识技能,《ng-book:Angular 2 大全》是你的不二选择。此书有以下特征: 快速起步和学习:第一章开篇就告诉你如何构建你的 Angular 2 App。在开始阅读的那几分钟里,

  • app.module.ts loads.module.ts 有什么需要帮忙的吗?