我无法让Ng2刷新页面。
这样做的目的是因为我有一个CRUD系统,当你输入一个新条目时,如果成功,我希望页面刷新。原因是因为表格是通过{{ studentAssign.assID[0]._id }}
等代码条目填充的
但是,当我提交一个新的assID条目时,它会将数组作为studentAssign._id
加入,然后提供一个空白条目,并混淆“编辑”和“删除”功能。
我的创建功能
submitCreate(studentAssign) {
this.authHttp.post("/api/student-assignment/", JSON.stringify(studentAssign), this.options).subscribe(
res => {
this.studentAssigns.push(studentAssign); // the response contains the new item
this.sendInfoMsg("item added successfully.", "success");
// workaround to reset the form values
this.workaround = false;
setTimeout(() => this.workaround = true, 0);
},
err => console.log(err)
);
}
我尝试过很多东西来强制页面刷新。即NgZone的this.router.renavigate();
和this.router.navigate(['/Student-Assign']);
以及this.zone.run(() => {});
...区域(重新呈现组件),但没有一个有效。
我有什么遗失的吗?或者是否可以轻松创建“assID”数组,以避免必须刷新页面?
编辑代码
<tr *ngFor="let studentAssign of studentAssigns">
<td style="text-align:center;"><div tooltip="{{studentAssign.assID[0].assignName}}" tooltipPlacement="top" tooltipTrigger="mouseenter">{{ studentAssign.assID[0]._id }}</div></td>
<td style="text-align:center;"><div tooltip="Email: {{studentAssign.studentID[0].email}} Name: {{studentAssign.studentID[0].firstName}} {{studentAssign.studentID[0].lastName}}" tooltipPlacement="top" tooltipTrigger="mouseenter">{{ studentAssign.studentID[0]._id }}</div></td>
<td style="text-align: center;">
<button type="button" class="btn btn-warning btn-sm" (click)="toggleEdit(studentAssign)"><i class="fa fa-pencil"></i> Edit</button>
<button type="button" class="btn btn-danger btn-sm" (click)="submitRemove(studentAssign)"><i class="fa fa-trash"></i> Delete</button>
</td>
</tr>
它来自一个数组,因为我从mongoose,原始JSON填充它:
{ “_编码”:3 “__ V”:0, “studentID”:[{ “_ ID”: “1240681”, “电子邮件”: “mrjakegroves@googlemail.com”, “姓氏”: “树丛”, “名字”: “Jakey”, “__ v”:0}], “ASSID”:[{ “_ ID”:“作为 1" , “assignName”: “CWK”, “__ V”:1, “modInsID”:[13]}]}
答案 0 :(得分:0)
你可以尝试
res => {
this.studentAssigns.push(studentAssign);
this.studentAssigns = this.studentAssigns.slice();
}
我需要查看更多代码(您是否使用*ngFor
绑定数组)以获得更好的建议。