Angular2刷新页面

时间:2016-08-28 19:50:47

标签: angular angular2-routing

我无法让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]}]}

1 个答案:

答案 0 :(得分:0)

你可以尝试

res => {
  this.studentAssigns.push(studentAssign); 
  this.studentAssigns = this.studentAssigns.slice();
}

我需要查看更多代码(您是否使用*ngFor绑定数组)以获得更好的建议。