0

有没有办法在路由的数据中引用路径参数?

我有一个看起来像这样的通用路线: { path: "Servicing/:type/:id", component: BaseComponent, data: { title: "Servicing" } },

我使用该title属性在页面顶部(和<title>标签)设置标题。因此,与其编写一些特殊的代码,这个标题处理必须知道它应该预先添加type路径参数的某些页面,我想做这样的事情: { path: "Servicing/:type/:id", component: BaseComponent, data: { title: <type> + " Servicing" } },

4

1 回答 1

0

您确实应该在其所在的组件内操作菜单内容。路由器并不是“真正”为处理路由之外的逻辑而构建的。也就是说,最简单的做法是在路由更改时更新菜单组件中的内容。

您需要使用ActivatedRoute并利用它的参数来导入路由器,如下所示:

basecomponent.component.ts

import { ActivatedRoute } from '@angular/router';

constructor(
    private _ActivatedRoute: ActivatedRoute
) {}

ngOnInit() {

    // Subscribe to route parameter observable.
    this._ActivatedRoute.params.subscribe(
        _Params => {
            this.type = _Params['type'];
            this.id = _Params['id'];
        }
    )
}
于 2017-07-25T18:45:47.490 回答