为了账号安全,请及时绑定邮箱和手机立即绑定

Angular 7 - 布尔值始终为真

Angular 7 - 布尔值始终为真

精慕HU 2021-08-26 16:23:57
我在 Angular 7 中有一个布尔值,我用它在对象构造函数中设置一个值。布尔值作为参数传递,我将其存储在本地。但是,由于某种原因,布尔值总是评估为真。这是有问题的代码:  ngOnInit() {    this.id = this.route.snapshot.params['id'];    this.showPersonal = this.route.snapshot.params['showPersonal'];    console.log("ngOnInit, this.id: " +  this.id);    console.log("ngOnInit, this.showPersonal: " +  this.showPersonal);    // if showPersonal is true, workRelated i.e. last item in constructor, is false    if (this.showPersonal){      console.log("showPersonal is true, setting work related to false")      this.showWorkRelated = false;    }    else {      console.log("showPersonal is false, setting work related to true")      this.showWorkRelated = true;     }console.log("this.showWorkRelated: " + this.showWorkRelated)这是输出:todo.component.ts:28 ngOnInit, this.showPersonal: falsetodo.component.ts:32 showPersonal is true, setting work related to falsetodo.component.ts:40 this.showWorkRelated: false我尝试了很多不同的方法,但它总是评估为真。这段代码有什么问题?
查看完整描述

1 回答

?
慕工程0101907

TA贡献1887条经验 获得超5个赞

看起来您this.route.snapshot.params['showPersonal']返回一个字符串,false因此将if (this.showPersonal)其视为 true。

您应该尝试使用typeof this.showPersonal以查看变量是哪种类型。


查看完整回答
反对 回复 2021-08-26
  • 1 回答
  • 0 关注
  • 173 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信