gpt4 book ai didi

Angular 2 : Call method/ngoninit when parameter of route changes

转载 作者:太空狗 更新时间:2023-10-29 17:22:04 25 4
gpt4 key购买 nike

现在我正在做一个网上商店,在我的主页上我有一个类别的下拉菜单,比如说父猫 A,子猫 B 和 C。

Cat A、B 和 C 均由 1 个组件 CatAComponent 表示。当我第一次进入其中一只猫时,我的 ngoninit 被调用并且页面显示它需要显示的内容。

当我想点击另一个子猫时,我仍然在同一个组件上,但只有路由的一个参数发生了变化(例如,我在 localhost:123/CatA/CatB 上,现在我在本地主机上: 123/CatA/CatC,仅更改了一个参数,因此不会调用 ngOnInit,也不会调用我的更新方法)。

有什么办法解决这个问题吗?我无法在我的 View 文件中放置一个(单击)方法来引用该方法,类别菜单在另一个 View 组件中。

我可以在只有一个参数发生变化时调用 NgOnInit 吗?

最佳答案

您必须订阅 ActivatedRoute 服务,如下所示:

//组件

import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, Params } from '@angular/router';

export class YourComponent {
constructor(
private route: ActivatedRoute
) {}

ngOnInit(): void {
this.route.params.subscribe((params: Params) => {
console.log(params);
// this will be called every time route changes
// so you can perform your functionality here

});
}
}

关于 Angular 2 : Call method/ngoninit when parameter of route changes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41300793/

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