javascript - angular2 ngFor 不起作用

标签 javascript html angular typescript

我试图让用户每次单击按钮时都会出现一些文本框。 我正在用 ngFor 来做这个。 由于某种原因, ngFor 不会迭代。 我尝试使用切片来更改数组引用,但文本框仍然不会出现。

知道我做错了什么吗? 下面是 HTML 和组件代码。 谢谢!!!

export class semesterComponent {
  subjectsNames = [];

  addSubject(subjectName: string) {
    if (subjectName) {
      this.subjectsNames.push(subjectName);
      this.subjectsNames.slice();
      console.log(subjectName);
      console.log(this.subjectsNames);
    }

  };
<div class="semester-div">
  <ul>
    <li ngFor="let subject of subjectsNames">
      <span>
       <input #subjectName type="text" />
       <input id = "subjectGrade" type = "number"/>
       <input id = "subjectWeight" type = "number"/>
      </span>
    </li>
  </ul>
  <br>
  <button (click)="addSubject(subjectName.value)">add</button>
  <br>
</div>

最佳答案

您缺少 *ngFor 中的 *

<li *ngFor="let subject of subjectsNames">

关于javascript - angular2 ngFor 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40640382/

相关文章:

angular - HostListener 分析组合按键

javascript - 无法序列化 JavaScript 数组

javascript - .animate() 的回调有问题吗?

php - 动态表单创建向下添加行

javascript - jQuery DataTable 添加行第一位置

html - 我如何绝对定位一个 div 并使其保持在其原始顶部位置,并且其上方的 dom 元素是 float 的?

javascript - 通过共享服务在两个组件之间进行 Angular 2/4 通信

javascript - 为jquery对象数组中的对象分配新值

html - 在 div 拉伸(stretch)内设置背景图像

iOS Safari HTML5 视频覆盖一切