我将XML转换为json,因此json文件在属性前面有符号“@”。例如<xml id=1></xml>
,我得到{@ id = 1}。
通过这种结构,我创建了一些数据,例如
[{@action:"include", @defaultValue:"", @expression:"", @format:"",@isPrimary:"True"},{@action:"include", @defaultValue:"", @expression:"", @format:"",@isPrimary:"True"},{@action:"include", @defaultValue:"", @expression:"", @format:"",@isPrimary:"True"}]
现在我想用kendo网格实现这个,但我很少被投入。
model: {
fields: {
Action: {
field: '@action',
},
DefaultValue: {
field: '@defaultValue',
},
Format: {
field: '@format',
},
Expression: {
field: '@expression',
}
}
}
和我的专栏
columns: [{
field: "Action",
title: "Action",
}, {
field: "DefaultValue",
title: "Default Value",
}, {
field: "Format",
title: "Format",
}, {
field: "Expression",
title: "Expression",
}]
但不起作用,我得到“SyntaxError:无效或意外的令牌”
答案 0 :(得分:1)
“@”实际上不是javascript名称中的有效字符,除非你在它周围添加引号,你可以轻松地使用你控制的代码,就像你的数据数组文字一样...但是kendo没有这样做所以它最终试图引用像d.@action
这样的东西,这是一个语法错误。所以,你必须通过使用格式来“欺骗”kendo使用方括号表示法和引用的字段名称:
“[ '@动作']”
定义字段选项时。这为您提供了一个引用的字段名称以允许@并且它使kendo在访问字段时使用括号表示法而不是点符号
以下是它的工作演示:http://dojo.telerik.com/@Stephen/uPiGE
它演示了字段名称所需的格式和模型定义的语法。
但是,说了这么多.....你真的需要@在你的字段名称中吗?