我正在研究Ionic 4,在其中一页中,我需要根据性别显示字符串。
因此,该函数将使用变量gen
,如果它是true
,它将返回'Female'
,但如果是'Male'
,则将返回false
。
在实现它的那一刻,它只为我提供gen
的每个值的第一种情况(不管gen是true还是false)。
我尝试了==
运算符,not
运算符和===
。
它在其他返回值的函数中发生。
displayGender(gen: boolean): string {
console.log(gen);
if (gen) {
console.log(gen);
return 'Female';
} else {
return 'Male';
}
}
我放了一些日志看。
例如,在我的一项测试中,我发送了一个false
值,控制台输出了false
,然后又返回false,表示它返回了'Female'
。
谢谢
答案 0 :(得分:0)
也许布尔变量是字符串格式。
尝试一下:
displayGender(gen: boolean): string {
console.log(gen);
if (gen == 'true') {
console.log(gen);
return 'Female';
} else {
return 'Male';
}
}
答案 1 :(得分:0)
您的代码没有什么问题,只需在参数列表中传递正确的参数即可。
displayGender(gen: boolean): string {
console.log(gen);
if (gen) {
console.log(gen);
return 'Female';
} else {
return 'Male';
}
}
console.log(this.displayGender(false));
根据您的代码,应为布尔值。您可能正在传递字符串值(如果是,则调整逻辑)。
displayGender(gen: boolean): string {
console.log(gen);
if (gen == 'true') {
console.log(gen);
return 'Female';
} else {
return 'Male';
}
}
console.log(this.displayGender('false'));
答案 2 :(得分:0)
displayGender(gen: boolean): string {
if (gen == "true") {
return 'Female';
} else {
return 'Male';
}
实际上gen被视为不是布尔值的字符串。因此,您正面临这个问题。由于gen被视为字符串,因此您只需将其与字符串值进行比较就可以解决它。