Javascript 有条件地禁用dijit菜单
我正在尝试添加属性Javascript 有条件地禁用dijit菜单,javascript,dojo,Javascript,Dojo,我正在尝试添加属性disabled:true或nothing,这取决于on的值,如下所示: var on = true; pMenu.addChild(new MenuItem({ label: "Disabled menu item", if(on){ return disabled: true; } })); 这似乎在控制台中返回了一个错误“数字不
disabled:true
或nothing,这取决于on
的值,如下所示:
var on = true;
pMenu.addChild(new MenuItem({
label: "Disabled menu item",
if(on){
return disabled: true;
}
}));
这似乎在控制台中返回了一个错误“数字不是函数”。我想这应该可以:
var on = true;
pMenu.addChild(new MenuItem({
label: "Disabled menu item",
disabled: on ? true : false
}));
如果在你的用例中,上的实际上是一个布尔值,你也可以把它分配给disabled,比如disabled:on
,就是这样。但据我所知,您不能像{}
那样在非构造函数对象声明中执行语句(如if
-cascade)
由于默认情况下disabled
是false
,这实际上就像什么都不添加一样,但在我个人看来,它更具可读性
考虑一下:您不需要向实例添加属性,实际上您只需要为已经存在的属性设置一个值