![](/img/trans.png)
[英]Angular UI-router - Not populating params despite $stateParams get object
[英]Angular2: router not populating params
所以,我对此感到迷茫
我的页面中包含许多组件...但是由于某种原因,我遇到了一个问题...
它用于页面标题中的主电源搜索...出于调试目的,我将其剥离到最低限度,但仍然无法正常工作
这是我的搜索组件
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(fe http:// localhost:8080 / indices; search = test )登录参数
不填充
我有一个具有确切行为的相似组件(订阅paras 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
奇怪的是,在Angular2免责声明之前,只有mainsearch才登录到控制台
主搜索无法获得参数的问题可能是什么?
我认为您需要使用ActivatedRoute 。
这应该在您的情况下有效:
constuctor(
private _activatedRoute: ActivatedRoute,
) {}
ngOnInit()
this._activatedRoute.params.subscribe(params => console.log(params));
}
关键是您的“主要搜索”是一些深入的组件,可观察到的路由器参数会从根URL发出参数。 而ActivatedRoute从当前路由发出参数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.