Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.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
Angular 如何在角度上激活路线?_Angular - Fatal编程技术网

Angular 如何在角度上激活路线?

Angular 如何在角度上激活路线?,angular,Angular,我的网址: 我怎样才能得到“7779394” 我尝试了以下代码: this.activatedRoute.queryParams.subscribe(params => { this.ind = params.name; console.log("this.ind " + params.name); }); 但是结果是未定义的,在未定义之后,函数再次运行,我得到了7779394 但它应该只运行一次 如何解决此问题?尝试以下方法:- 在这里,如果URL中没有“name”,

我的网址:

我怎样才能得到“7779394”

我尝试了以下代码:

  this.activatedRoute.queryParams.subscribe(params => {
  this.ind = params.name;

  console.log("this.ind " + params.name);

});
但是结果是未定义的,在未定义之后,函数再次运行,我得到了7779394

但它应该只运行一次

如何解决此问题?

尝试以下方法:- 在这里,如果URL中没有“name”,订阅
查询参数
有时可能会给出
未定义的
值。这可能是因为在调用api之前没有定义它。 它是自然的,是一个行为主体

您可以使用
过滤器
来避免未定义的值

constructor(public route: ActivatedRoute){}
ngOnInit() {
 const self = this;
this.route.queryParams.filter(params => params['name'] ).distinctUntilChanged().subscribe(params => {
self.nameVar= params['name']
 });
或者


这是一种
RxJs
问题

你要做的是过滤可观察到的东西

从'rxjs/operators'导入{map,filter};
this.activatedRoute.queryParams
.烟斗(
map(params=>params.name),//只查询名称。。。
筛选器(name=>name!==undefined),//并筛选它!(未定义)
)
.订阅(名称=>{
//名称将是真实值(未定义)
this.ind=名称;
console.log(“this.ind”+名称);
});
或者如果您需要完整的
参数
对象

从“rxjs/operators”导入{filter};
this.activatedRoute.queryParams
.烟斗(
过滤器(params=>params.name!==未定义),//params始终是一个对象,因此您不必检查(params!==未定义)。
)
.订阅(参数=>{
//params.name将是实值(未定义)
this.ind=params.name;
console.log(“this.ind”+参数名);
});

发布一个完整的示例。你的两行代码不足以解释发生了什么。你订阅的是哪个生命周期钩子
queryParams
我把它放在了oni中,你有没有试过params.get('name')安装params.name;
this.route.queryParams.filter(params => params['name'])
.subscribe(params => {     
   self.nameVar = params['name'];
});