【发布时间】:2017-12-20 11:32:35
【问题描述】:
我已经为 activedroute 添加了提供程序,现在它给出了这个错误,我想获取查询字符串参数,例如:http://localhost:4200/?user=hello
我想获得用户的价值,这是我的代码:
import { Component, OnInit, Input } from '@angular/core';
import {Router, ActivatedRoute, Params} from '@angular/router';
@Component({
selector: 'app-login',
templateUrl: './login.html'
})
export class LoginBancaComponent implements OnInit {
constructor(private route: ActivatedRoute){}
ngOnInit() {
this.activatedRoute.params.subscribe((params: Params) => {
let str= params['user'];
console.log(str);
});
}
}
但在控制台页面上出现此错误:
无法解析 ActivatedRoute 的所有参数:(?, ?, ?, ?, ?, ?, ?, ?)。
我已经导入了模块中的所有内容:
import {Router, ActivatedRoute, Params} from '@angular/router';
...
imports: [
BrowserModule,
CommonModule, RouterModule,
],
providers: [ActivatedRoute],
...
为什么会出现这个错误?
【问题讨论】:
-
你能在这里打印出什么确切的错误
-
未捕获的错误:无法解析 ActivatedRoute 的所有参数:(?, ?, ?, ?, ?, ?, ?, ?)。在 CompileMetadataResolver.webpackJsonp.../../../compiler/@angular/compiler.es5.js.CompileMetadataResolver._getDependenciesMetadata (vendor.bundle.js:35399) 处的 syntaxError (vendor.bundle.js:21312) 处跨度>
-
Robby Cornelissen 我刚刚阅读了这个问题,但我不知道您如何使用 RouterModule.forRoot()
标签: angular