将json对象存储到带有把手的html元素

时间:2014-03-18 09:44:18

标签: javascript html handlebars.js

如何将hson元素中的json完整对象存储为数据属性

var a = {name : "sample",age : "34"}
$.find('#someDiv").data("adata",a);

我们可以在创建模板时使用把手实现相同的功能吗

<div id="someDiv" data-adata="{{a}}"></div>

可能吗?

1 个答案:

答案 0 :(得分:1)

你不能在HTML中嵌入JSON perse,因为HTML是纯字符串而JSON不是。

但你可以使用自定义方法对其进行字符串化并将其存储在那里:

/*
 * Simple helper to stringify an object.
 * Usage: {{ JSON2string object }}
 */
Handlebars.registerHelper('JSON2string', function (object:Object) {
    return JSON.stringify(object);
});

然后,在模板中,您可以使用它:

<div id="someDiv" data-adata="{{JSON2string a}}"></div>

有效地将JSON字符串存储在data属性中。