Javascript 角度类型脚本从Switch语句在视图中显示变量
我试图显示JSON响应中可能存在的一些值。如果它们不存在,则应将其设置为0 我的switch语句在我的组件类型脚本中看起来像:Javascript 角度类型脚本从Switch语句在视图中显示变量,javascript,angular,typescript,Javascript,Angular,Typescript,我试图显示JSON响应中可能存在的一些值。如果它们不存在,则应将其设置为0 我的switch语句在我的组件类型脚本中看起来像: this.failures = obj.failures; this.subsystemFailure = new SubsystemFailure(); for(let i=0;i<this.failures.length; i++){ switch(this.failures[i].appName) {
this.failures = obj.failures;
this.subsystemFailure = new SubsystemFailure();
for(let i=0;i<this.failures.length; i++){
switch(this.failures[i].appName) {
case "a":
this.subsystemFailure.a = this.failures.appFailures;
break;
case "b":
this.subsystemFailure.b = this.failures.appFailures;
break;
case "c":
this.subsystemFailure.c = this.failures.appFailures;
break;
case "d":
this.subsystemFailure.d = this.failures.appFailures;
break;
case "e":
this.subsystemFailure.e = this.failures.appFailures;
break;
case "f":
this.subsystemFailure.f = this.failures.appFailures;
break;
case "g":
this.subsystemFailure.g = this.failures.appFailures;
break;
case "h":
this.subsystemFailure.h = this.failures.appFailures;
break;
}
}
我试图在视图中显示数据,如果没有值,if将显示为零:
<li>
<div class="title">A</div>
<div class="value">
<strong>{{subsystemFailure.a}}</strong>
</div>
<div>
</li>
A.
{{subsystemFailure.a}}
目前,subsystemFailure.a(它是第一个)变量返回为未定义。有人能给我指出正确的方向吗?因此我最终重构了代码:
this.subsystemFailure = new SubsystemFailure();
if(this.failureFlag) {
for (let app of json.failures) {
this.subsystemFailure[app.appName] = app.appNoOfFailures || 0;
}
}
它不是switch语句,而是迭代响应并指定与
appName
关联的值,如果响应中没有appName
,则指定值0。变量“a”在哪里?我只看到变量“a”。@t对不起,这是子系统故障。你能给我看更多吗?从你给我看的情况来看,似乎没有什么不对劲。我能想到的一件事是,this.failures.appFailures
value有underfined
value。因此它将欠定义的覆盖为默认值0
。我刚刚注意到这一点。失败的是一个数组。因此,如果没有索引,this.failures.appFailures
可能是错误的。将它们更改为this.failures[i].appFailures
@tin,这样如果failures.appName不存在,它会自动获取值0。这些部件似乎起作用了。例如,json结果显示“a”的值为2,但在控制台中显示为未定义;所有其他对象在视图中显示为0。
this.subsystemFailure = new SubsystemFailure();
if(this.failureFlag) {
for (let app of json.failures) {
this.subsystemFailure[app.appName] = app.appNoOfFailures || 0;
}
}