我有KendoUI的以下代码段

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


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

所以我在做什么

全局声明一个新变量var dynFilter

现在,如果不存在数据,则将其设置为false,按预期方式运行,否则将其设置为dynFilter="{multi:true}"。但是布尔变量true无效,因为它是字符串的一部分。

现在,我想以这种方式设置此变量,使其应将true作为multi。的参数。我的意思是在整个字符串“ {multi:true}”中,true将像布尔值一样,和string一样休息。

谁能解释一下我如何做到这一点。

最佳答案

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

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');

关于javascript - 动态将字符串转换为 bool 值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36934298/

10-11 05:55