我可以将 returns 字符串的 if else 语句连接到服务器端呈现的 HTML 元素吗?
Can I concatenate an if else statement that returns a string to server-side rendered HTML elements?
我正在开发一个网络应用程序,它必须根据布尔值的状态显示一个或另一个值。如果我的 var
"value" 是 true
,我需要它显示 "ON",否则它必须显示 "OFF".
我写了这段代码,我很确定它会起作用,但我错了:
var value = true // actually this changes over time
var s = new String();
s += '<span style="color:white; font-size:14px; font-weight:bold;">'+ "ALRM H2S:" +'</span>';
s += '<span style="color: orange; font-size:14px; font-weight:bold;">'+ if(value){return "ON"} else {return "OFF"} +'</span>';
return s;
我得到一个 "Syntax error at line (#3)"。我认为问题一定是我无法将 if
else
语句与 return string
的其余部分连接起来] 元素。
我做错了什么?
你说得对,你不能像那样内联 if 语句,所以在这种情况下你应该使用 ternary operator。你可以这样使用它:
var value = true; // actually this changes over time
var s = new String();
s += '<span style="color:white; font-size:14px; font-weight:bold;">' + "ALRM H2S:" + "</span>";
s += '<span style="color: orange; font-size:14px; font-weight:bold;">' + (value ? "ON" : "OFF") + "</span>";
return s;
添加字符串时不能运行条件语句。我的建议是给你一个箭头函数,returns 一个字符串。
var value = true // actually this changes over time
var s = new String();
var ifOn = () => { value? "ON" :"OFF"}
s += '<span style="color:white; font-size:14px; font-weight:bold;">'+ "ALRM H2S:" +'</span>';
s += '<span style="color: orange; font-size:14px; font-weight:bold;">' + ifOn() +'</span>'
谢谢你们的精彩回答!
我想出的解决方案不如你的好,但是它有效:
var s = new String();
var h2sStatus;
if(value){ h2sStatus = "ON"} else {h2sStatus = "OFF"}
s += '<span style="color:white; font-size:14px; font-weight:bold;">ALARM H2S: </span>';
s += '<span style="color: orange; font-size:14px; font-weight:bold;">'+ h2sStatus +'</span>';
return s;
我post它可能对某人有帮助。
我正在开发一个网络应用程序,它必须根据布尔值的状态显示一个或另一个值。如果我的 var
"value" 是 true
,我需要它显示 "ON",否则它必须显示 "OFF".
我写了这段代码,我很确定它会起作用,但我错了:
var value = true // actually this changes over time
var s = new String();
s += '<span style="color:white; font-size:14px; font-weight:bold;">'+ "ALRM H2S:" +'</span>';
s += '<span style="color: orange; font-size:14px; font-weight:bold;">'+ if(value){return "ON"} else {return "OFF"} +'</span>';
return s;
我得到一个 "Syntax error at line (#3)"。我认为问题一定是我无法将 if
else
语句与 return string
的其余部分连接起来] 元素。
我做错了什么?
你说得对,你不能像那样内联 if 语句,所以在这种情况下你应该使用 ternary operator。你可以这样使用它:
var value = true; // actually this changes over time
var s = new String();
s += '<span style="color:white; font-size:14px; font-weight:bold;">' + "ALRM H2S:" + "</span>";
s += '<span style="color: orange; font-size:14px; font-weight:bold;">' + (value ? "ON" : "OFF") + "</span>";
return s;
添加字符串时不能运行条件语句。我的建议是给你一个箭头函数,returns 一个字符串。
var value = true // actually this changes over time
var s = new String();
var ifOn = () => { value? "ON" :"OFF"}
s += '<span style="color:white; font-size:14px; font-weight:bold;">'+ "ALRM H2S:" +'</span>';
s += '<span style="color: orange; font-size:14px; font-weight:bold;">' + ifOn() +'</span>'
谢谢你们的精彩回答!
我想出的解决方案不如你的好,但是它有效:
var s = new String();
var h2sStatus;
if(value){ h2sStatus = "ON"} else {h2sStatus = "OFF"}
s += '<span style="color:white; font-size:14px; font-weight:bold;">ALARM H2S: </span>';
s += '<span style="color: orange; font-size:14px; font-weight:bold;">'+ h2sStatus +'</span>';
return s;
我post它可能对某人有帮助。