javascript - 使用 handlebars 将 json 对象存储到 html 元素

标签 javascript html handlebars.js

如何将json完整对象作为数据属性存储在html元素中

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

我们可以在创建模板时用 Handlebars 实现同样的事情吗

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

这可能吗?

最佳答案

您不能在 HTML 中嵌入 JSON 本身,因为 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 属性中。

关于javascript - 使用 handlebars 将 json 对象存储到 html 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22475485/

相关文章:

javascript - 如何检查 Handlebars 中的变量是否错误?

javascript - jQuery 未捕获类型错误 : Cannot read property 'text' of null

html - 有没有办法查看网页上所有 div 标签周围的边框?

javascript - javascript中的文件扩展名验证

javascript - 图表未呈现我的日期数据

html - Meta Refresh 标签(零延迟)是否等待页面完成加载?

ember.js - 在 View 中显示 emberjs 计算属性

javascript - 无法使用 handlebars 和 assemblefile.js 呈现部分

javascript - 绕过 HTML 导入的安全性

javascript - 提供 500 个内部服务器的 Express 路线