Dojo的dijit
html5标签使用attribte名称data-dojo-props。该值基本上是一个JSON字符串,在属性名称周围没有引号,没有最外面的大括号。
它看起来像这样。
data-dojo-props="prop1:'xyz', prop2:true, prop3: { subprop1: 1, subprop2: 'abc'}"
我正在使用C#使用JSON.NET从C#对象中写出来并传入对象指针。我发现设置省略了属性名称引号,但我无法找到一种优雅的方法来删除外部大括号。
现在,我将通过正则表达式运行字符串以删除它们,但是想知道是否有新的更好的方式。
答案 0 :(得分:0)
我分别序列化每个顶级属性并使其成为全局javascript变量。然后我在data-dojo-props
中引用该变量。我承认它并不那么优雅。
我对上述方法的关注是,如果subprop2
的值包含引号,则会出现解析器错误。
<script type="text/javascript">
menuData = {THE SERIALIZED JSON GOES HERE};
</script>
<div data-dojo-type="SomeWidget" data-dojo-props="menuData: menuData"></div>