我尝试在每次用户点击按钮时都会显示一些文本框。 我用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>
&#13;
答案 0 :(得分:1)
你错过了* ngFor
中的*return del([
buildTo + "/**/*"
], { force: true });
答案 1 :(得分:1)
您的控件编写subjectName的方式不存在,因为数组为空,因此the timer is held
不会呈现它。单击“添加”按钮会导致*ngFor
undefined
真正undefined
上的值不存在的异常。
将其移到subjectName
之外会使事情奏效:
*ngFor
我怀疑你还希望在迭代主题名称时进一步绑定数据,但这不在问题的范围内。
答案 2 :(得分:0)
首先,你在* ngFor中缺少*。 第二次推出
<input #subjectName type="text" />
来自ngFor的应该可以工作。