首页 > 解决方案 > 如何在角度 4 中创建路由延迟时间?

问题描述

我有一个表格,可以在这个表格中创建一个新工作。在此表单中的注册作业按钮后面,我有一个路由器链接,用于记录已创建的新作业的详细信息。

单击此按钮时,Router Link 没有此作业的 id,因为未设置作业的 id。单击注册作业按钮后,将设置作业的 ID。

在设置作业 ID 之前,路由器链接的延迟如何?

标签: timedelayrouter

解决方案


你需要使用 Promise

addJobToList(job): Promise<number> {
    return new Promise((resolve, reject) => {
    //
    // Create job here;
    //
    resolve(job.id);
    });
}

// <button (click)="createJob(formdata)" />

createJob(job): void {
    this.addJobToList(job).then(jobid => {
    this.router.navigate([`/jobdetails/${jobid}`]);
    });
}

更多信息:https ://codecraft.tv/courses/angular/es6-typescript/promises/


推荐阅读