【发布时间】:2018-03-06 16:04:23
【问题描述】:
我有三个用户,当我点击下一个时,它必须为下一个用户加载路由,所以我将一个添加到 id 并传递给 routerLink,但不知何故而不是添加它是连接数字,下面是代码
import { Component, OnInit, OnDestroy } from '@angular/core';
import { ActivatedRoute,Params } from '@angular/router';
import { Subscription } from 'rxjs/Subscription';
@Component({
selector: 'app-user',
templateUrl: './user.component.html',
styleUrls: ['./user.component.css']
})
export class UserComponent implements OnInit,OnDestroy {
routeSubscription : Subscription;
id : number;
next : number = 0;
constructor(private route:ActivatedRoute) {
}
ngOnInit() {
this.routeSubscription = this.route.params.subscribe((params :Params) =>{
this.id = params['id'];
this.next = this.id + 1;
});
}
ngOnDestroy(){
this.routeSubscription.unsubscribe();
}
}
为此的HTML模板
<p>
user id : {{ id }}
</p>
<button class="btn btn-primary" [routerLink] = "['/Users', next ]">Next</button>
请告诉我为什么 next 会与 id 连接
【问题讨论】:
-
在添加前将字符串解析为数字。
this.next = parseInt(this.id) + 1; -
我会在
this.id = params['id'];之后做console.log(typeof this.id)来检查它是否仍然是数字 -
@RahulSharma 我已经将 id 声明为正确的号码
-
@YashwanthPotu URL 参数返回字符串,如果添加数字,它会更改为字符串。
-
感谢@RahulSharma 了解使用 parseInt 或一元运算符,谢谢
标签: angular typescript angular4-router