【发布时间】:2015-09-03 00:58:48
【问题描述】:
问题在于,当我们使用代码的某个部分时,HTMl 上出现的消息几乎没有问题,问题在于,当这些变量发生变化时,事情变得很容易,而不是获得我们的赋值变量我们得到一个乱七八糟的
{{s1}}
和不变的颜色值。我们需要让 javascript 在“está”和“no está”之间切换,并将框的颜色从红色变为您在 javascript 中看到的绿色阴影。
这是一个小示例代码,首先是有问题的 HTML
<center>
Tarjeta: {{idt}}, Version: {{ver}}
<table border="1px" WIDTH=400 HEIGHT=400>
<center>
<tr>
<td bgcolor={colors1}><h2>{{s1}}</h2></td>
<td bgcolor={colors2}><h2>{{s2}}</h2></td>
</tr>
<tr>
<td bgcolor={colors3}><h2>{{s3}}</h2></td>
<td bgcolor={colors4}><h2>{{s4}}</h2></td>
</tr>
</center>
</table>
</center>
以及提供该 HTML 的 javascript。我们需要注释部分成为上面代码的一部分。
<script type="text/javascript">
function MainCtrl($scope)
{
$scope.socket = io.connect("http://localhost:3000");
$scope.socket.on("message", function(data) {
$scope.$apply(function()
{
$scope.idt = data.idt;
$scope.ver = data.ver;
$scope.s1 = data.s1;
$scope.s2 = data.s2;
$scope.s3 = data.s3;
$scope.s4 = data.s4;
$scope.colors1 = "red";
$scope.colors2 = "red";
$scope.colors3 = "red";
$scope.colors4 = "red";
/*Mejorar este codigo
if (data.s1 == 1){
$scope.s1 = "No hay";
$scope.colors1 = "red";
}else{
$scope.s1 = "Hay";
$scope.colors1 = "#90EE90";
}
if (data.s2 == 1){
$scope.s2 = "No hay";
$scope.colors2 = "red";
}else{
$scope.s2 = "Hay";
$scope.colors2 = "#90EE90";
}
if (data.s3 == 1){
$scope.s3 = "No hay";
$scope.colors3 = "red";
}else{
$scope.s3 = "Hay";
$scope.colors3 = "#90EE90";
}
if (data.s4 == 1){
$scope.s4 = "No hay";
$scope.colors4 = "red";
}else{
$scope.s4 = "Hay";
$scope.colors4 = "#90EE90";
}*/
});
});
}
</script>
非常感谢任何帮助。
非常感谢。
【问题讨论】:
-
The
centerelement is obsolete,请改用 CSS。看来您正在使用 angularjs 或类似的东西,请在问题中添加适当的标签。 -
会在 CSS 部分做,但现在我们必须让它按原样工作,因为截止日期很紧。我已经为 Angular.js 添加了标签,感谢您的建议。
标签: javascript html angularjs node.js