gpt4 book ai didi

javascript - Angular 2 : router not populating params

转载 作者:太空狗 更新时间:2023-10-29 18:02:49 24 4
gpt4 key购买 nike

所以,我对这个失去了理智

我有一个包含许多组件的页面...但由于某种原因我遇到了一个问题...

它用于页面标题中的主要搜索...出于调试目的,我将其剥离到最低限度,但仍然不起作用

这是我的搜索组件

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

import { ROUTER_DIRECTIVES } from '@angular/router';
import { Router, ActivatedRoute } from '@angular/router';


@Component({
selector: 'main-search',
template: `<div></div>`,
})

export class MainSearch implements OnInit {
private sub: any;
constructor(private route: ActivatedRoute){

}

ngOnInit(){

this.sub = this.route.params.subscribe(params => {
console.log('PARAMS FROM MAIN SEARCH', params);

});
}

}

如您所见,我正在尝试记录 URL 中的参数(例如 http://localhost:8080/indices;search=test)

不填充

我有一个具有精确行为的类似组件(订阅参数 onInit...

this.sub = this.route.params.subscribe(params => {
console.log('PARAMS FROM INDICES: ', params);
})

而那个实际上记录了该死的参数!

从控制台:

PARAMS FROM MAIN SEARCH Object {} => main-search.ts?8502:24
Angular 2 is running in the development mode. Call enableProdMode() to enable the production mode. => lang.js?c27c:360
null => index.service.ts?0bf5:40
FROM API => index.service.ts?0bf5:49
PARAMS FROM INDICES: Object {search: "test"} => indicesList.component.ts?5ff1:63

奇怪的是,只有 mainsearch 在 Angular2 免责声明之前被记录到控制台

main-search 没有获取参数可能是什么问题?

最佳答案

我认为您需要使用 ActivatedRoute .

这应该适用于您的情况:

constuctor(
private _activatedRoute: ActivatedRoute,
) {}

ngOnInit()
this._activatedRoute.params.subscribe(params => console.log(params));
}

问题是你的“主要搜索”是一些深层次的组件,路由器参数可观察从根 url 发出参数。而 ActivatedRoute 从当前路由发出参数。

关于javascript - Angular 2 : router not populating params,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38503532/

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