[英]Switch statement doesn't work with some variables
我想使Angular2 Pipe根據傳遞的變量返回不同的值。 變量device.display
可以具有不同的類型(對象或字符串),並且僅接受兩個值null
和"dataTime"
。
組成部分:
<div class="col col-2">{{values[variable.id] | display: device.display}}</div>
管:
Pipe
import { Pipe } from '@angular/core';
@Pipe({
name: 'display'
})
export class DisplayPipe {
transform(value: any, display: string): string {
display = String(display);
switch (display) {
case 'dateTime': {
value = value * 60;
}
case 'null': {
value = value;
}
default: value = 'abc';
}
return value;
}
}
我確定在將變量解析為String之后,它等於"null"
或"dateTime"
。 我用console.log
檢查了它。
問題是switch語句始終返回默認值: "abc"
。
語法錯誤。 在每種情況下都不需要括號,並且您忘了break;
聲明。
以下是有關如何構建開關盒的示例:
switch (new Date().getDay()) {
case 0:
day = "Sunday";
break;
case 1:
day = "Monday";
break;
case 2:
day = "Tuesday";
break;
case 3:
day = "Wednesday";
break;
case 4:
day = "Thursday";
break;
case 5:
day = "Friday";
break;
case 6:
day = "Saturday";
}
那不是切換的正確方法:
switch (display) {
case 'dateTime':
value = value * 60;
break;
case 'null':
value = value;
break;
default:
value = 'abc';
}
如果您不中斷所有情況,則switch將執行所有情況,然后在所有情況下如何設置相同的變量,該值為最后一個情況默認值:abc。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.