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

时间:2016-04-29 09:13:48

标签: javascript kendo-ui kendo-grid

我有以下KendoUI的代码片段

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

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

所以我在这里做什么

全局声明一个新变量var dynFilter

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

现在我想以这样一种方式设置这个变量,它应该在整个字符串" {multi:true}"中使用true作为multi.i的参数。 true将为boolean,rest为string。

任何人都可以解释我如何实现这一目标。

1 个答案:

答案 0 :(得分:1)

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

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