我有一个基于元素“type”的开关,它会触发不同的默认设置。
多个“类型”通常会共享默认设置,例如backgroundColor
,因此我们将它们组合在一个多案例设置中。当我们修改它时,能够随时调整每个“类型”并且通常最终会有大量重复,因此它的每个类型都在它自己的小盒子中。
我想要做的是使用共享它的情况,然后再次声明它的特殊属性。
像:
function setDefaults(base) {
switch (base.type) {
case 'rectangle':
case 'circle':
case 'areaMap':
case 'clock':
case 'news':
case 'weather':
case 'webview':
case 'camera':
base.properties.background = this._getRandColor();
case 'areaMap':
base.properties.height = '600px';
base.properties.width = '800px';
break;
}
return base;
}
我不确定这是否有用......
答案 0 :(得分:2)
不,它不起作用。只有似乎才能正常工作,因为在第一个案例之后你错过了break
。如果没有那个break
,如果第二个案例被调用,它就会被执行。
例如,如果您调用第二个案例case 'foo':
,它仍会设置高度/宽度属性。由于前一个case语句中缺少中断,因此应用了高度和宽度。
@machinegost和@jorg分别获得以下其他来源: