gpt4 book ai didi

javascript - PrimeNG 从其他模块推送面包屑中的项目

转载 作者:行者123 更新时间:2023-12-01 02:59:38 24 4
gpt4 key购买 nike

我尝试制作一个基于PrimeNG面包屑的面包屑。目前我有两个不同的模块。在根应用程序中我有这个:

export class AppComponent implements OnInit {
ngOnInit() {
this.items = [];
this.items.push({label:'Lists', url: '/lists'});
}
}

在app.component.html中:

<p-breadcrumb [model]="items"></p-breadcrumb>

这没问题!

但我想从其他模块推送数据,如下所示:

export class ListItemComponent implements OnInit {
...
ngOnInit() {
let listId = this._activatedRoute.params['listId'];

this.items = [];
this.items.push({label: `Lists ${listId}`, url: `/lists/${listId}`});
}
...
}

这不是出现,ListItemComponent无权访问。

知道如何解决这个问题吗?谢谢!

最佳答案

您可以通过共享服务解决此问题:

@Injectable()
export class BreadcrumbService {
items: Array = [];
}

在顶级 AppComponent 模块中提供该服务。

现在您可以在AppComponent中使用它:

export class AppComponent implements OnInit {
constructor(private _breadcrumbService: BreadcrumbService);

ngOnInit() {
this._breadcrumbService.items.push({label:'Lists', url: '/lists'});
}
}
<p-breadcrumb [model]="_breadcrumbService.items"></p-breadcrumb>

还有另一个:

export class ListItemComponent implements OnInit {
constructor(private _breadcrumbService: BreadcrumbService);
...
ngOnInit() {
let listId = this._activatedRoute.params['listId'];

this._breadcrumbService.items.push({label: `Lists ${listId}`, url: `/lists/${listId}`});
}
...
}

关于javascript - PrimeNG 从其他模块推送面包屑中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46521750/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com