我在 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 回答
![?](http://img1.sycdn.imooc.com/533e4ce900010ae802000200-100-100.jpg)
慕工程0101907
TA贡献1887条经验 获得超5个赞
看起来您this.route.snapshot.params['showPersonal']
返回一个字符串,false
因此将if (this.showPersonal)
其视为 true。
您应该尝试使用typeof this.showPersonal
以查看变量是哪种类型。
添加回答
举报
0/150
提交
取消