如何添加多个参数的回叫? -Angular5面包屑

时间:2018-06-28 06:05:59

标签: angular

我有以下路线

/accounts/
/accounts/:accountId
/accounts/:accountId/branches
/accounts/:accountId/branches/:branchId

我已成功在面包屑中用帐户名替换了accountId

Accounts / Account Name
Accounts / Account Name / Branches
Accounts / Account Name / Branches / Branch ID

这样做

import { BreadcrumbService } from 'ng5-breadcrumb';

constructor(private breadcrumbService: BreadcrumbService) {
}
ngOnInit() {
      this.breadcrumbService.addCallbackForRoute('/accounts/6e440587-3c9e-11e8-89d7-408d5cbccb60', this.getNameForAccount);
      this.breadcrumbService.addCallbackForRouteRegex('^/accounts/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$', this.getNameForAccount);
    }

    getNameForAccount(id:string):string {
      console.log(id);
      debugger
      return 'specific name for account with id';
    }

但是我也无法替换BranchId。我的目标是创建像这样的面包屑:

Accounts / Account Name / Branches / Branch Name

关于如何实现这一点的任何想法?

1 个答案:

答案 0 :(得分:0)

由于未指定,因此我不得不假设breadcrumbService.addCallbackForRoute接受2个参数。字符串和回调函数。而是使其接受字符串和回调函数数组。这样,您可以迭代数组并执行回调。

编辑

对不起,我没有注意到图书馆。我认为您可以为分支机构路由添加另一个回调,就像为帐户添加this.breadcrumbService.addCallbackForRoute('/branches/6e440587-3c9e-11e8-89d7-408d5cbccb60', this.getNameForBranch);