将字符串转换为布尔值动态

问题描述:

我有一个下面的代码段用于KendoUI将字符串转换为布尔值动态

{ 
    width: 90, 
    field: "StatusDesc", 
    title: i18n.t("FirmwareTranslation:Columns.StatusDesc"), 
    filterable: dynFilter 
} 

我必须动态改变fiterable属性的值。 它基于一个条件,如果数据存在于Grid中,那么我将显示该特定列的此过滤器选项,否则不会。

所以在这里我在做什么

声明一个新变量全局,var dynFilter

现在,如果数据不存在,我将它设置为false这是按预期工作,否则将其设置为dynFilter="{multi:true}"。但布尔变量true不起作用,因为它是字符串的一部分。

现在我想设置这个变量的方式,它应该作为multi.i的参数在整个字符串“{multi:true}”中应该是true,true将作为布尔值,并作为字符串休息。

任何人都可以请解释我如何做到这一点。

如果我理解正确,不需要将其设置为字符串。

var dynFilter; 
dynFilter="{multi:true}"; // Won't work 
alert (dynFilter['multi']); // Undefined 

dynFilter={multi:true};  // Will work 
if (dynFilter['multi']) 
    alert('multi is true'); 
else 
    alert('multi is false');