Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Angular2:路由器未填充参数_Javascript_Angular_Angular2 Routing - Fatal编程技术网

Javascript Angular2:路由器未填充参数

Javascript Angular2:路由器未填充参数,javascript,angular,angular2-routing,Javascript,Angular,Angular2 Routing,所以,我对这件事失去了理智 我有一个包含许多组件的页面。。。但出于某种原因,我有一个问题 它是在页面的页眉进行主搜索。。。为了调试的目的,我把它精简到最低限度,但仍然无法工作 这是我的搜索组件 import { Component, OnInit } from '@angular/core'; import { ROUTER_DIRECTIVES } from '@angular/router'; import { Router, ActivatedRoute } from '@a

所以,我对这件事失去了理智

我有一个包含许多组件的页面。。。但出于某种原因,我有一个问题

它是在页面的页眉进行主搜索。。。为了调试的目的,我把它精简到最低限度,但仍然无法工作

这是我的搜索组件

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);

        });
    }

}
而那个人居然记录了那些该死的情妇

从控制台:

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被登录到控制台


主搜索无法获取参数可能是什么问题?

我认为您需要使用

这应该适用于您的情况:

constuctor(
    private _activatedRoute: ActivatedRoute,
) {}

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

问题是,您的“主搜索”是一些组件深度,路由器参数observable从根url发出参数。而ActivatedRoute从当前路由发出参数。

你在说什么?这正是我正在使用的。你是对的,对不起。我甚至没有看到您导入的是activatedRoute而不是Route。我两者都有(专用路由器:router,专用路由:activatedRoute),但出于调试目的,我将其剥离了。您猜怎么着(主搜索是使用路径还是静态组件和应用程序进行路由?奇怪的是,您的主搜索日志位于免责声明之前。如果两个组件相似,但其中一个不工作,则它们可能以不同的方式路由/包含。您是否也可以将这些代码添加到父组件或/和路由代码中?Bo它们是以与导入相同的方式添加的…两者都是以相同的方式添加的,作为公共页面上的组件…实际上还有一个(面包屑)可以正常填充参数…:'(我在路由器上遇到了一些重大问题,我很想知道你是否找到了解决这个问题的方法。我的一个问题是,我有一个有两个孩子的父路由,我需要在路由中添加参数。父路由根本看不到PARAMs,它只给了我一个空对象。ams,它从不触发。如果我订阅this.route.url并更改参数,则会触发订阅,但传递的值不包含整个路由或任何参数…这非常令人沮丧!
constuctor(
    private _activatedRoute: ActivatedRoute,
) {}

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