【发布时间】:2016-11-16 19:10:49
【问题描述】:
我试图让一些文本框在用户每次点击按钮时出现。 我正在用 ngFor 做这个。 出于某种原因,ngFor 不会迭代。 我尝试使用 slice 来更改数组引用,但仍然不会出现文本框。
知道我做错了什么吗? 下面是 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>
【问题讨论】:
-
您通过 ID 引用了
#subjectName文本框,但它在*ngFor内。不会重复,不会有ID冲突吗?当您在单击处理程序中调用addSubject()时,您引用的是哪个文本框?我对此感到困惑。
标签: javascript html angular typescript