对多个数据集多次使用单个把手功能
Using single Handlebars function multiple times for multiple data sets
有没有办法多次重用单个车把功能,每次都给它提供不同的数据?
我有两个div充当以下代码的按钮
<div id="#btn-A" data-one="data-A1" data-two="data-A2" onclick="magicHappensHere(this)">
<div id="#btn-B" data-one="data-B1" data-two="data-B2" onclick="magicHappensHere(this)">
和两个功能
function magicHappensHere(data) {
//some code
var selection = $('#selection');
selection.append('<div id="target-" + data.one + '" class="target"></div>'
buildTemplate(data);
//some more code
}
并且有实际的模板调用
function buildTemplate(data) {
try {
var source = $('#source').html();
var template = Handlebars.compile(source);
var html = template(data);
$('.target').html(html);
} catch(err) {
}
}
它在某个时刻工作正常。我可以添加两个目标div,它们有不同的 ID,到目前为止一切都很酷。问题是,即使作为结果,我有目标 A 和目标 B,但两者中显示的数据都是来自目标 B 的数据。我几乎可以肯定我的buildTemplate
功能存在某种问题,我应该看看那里。我想的是,data
正在覆盖自己,它不应该。你们中的任何人,好人,能告诉我,如何避免这种情况吗?
在buildTemplate
函数中,您将生成的 HTML 分配给任何具有类 target
的div。尝试按 ID 分配 HTML。下面是一个帮助程序函数:
function renderData(template, data, selector) {
var html = template(data);
$(selector).html(html);
}
现在我们可以轻松地将数据渲染到不同的元素(我假设我们已经构建了车把模板):
renderData(template, data1, '#first-target');
renderData(template, data2, '#second-target');
相关文章:
- 添加文字和评论功能更新Div
- JavaScript打印功能使日历停止工作
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- 每当您在选择器内移动鼠标时,悬停功能就会重复
- 如何使用javascript获取嵌套对象中所有子对象的单个属性
- 是否可以禁用jquery中的单个单选按钮
- 如何防止网页加载后自动启动功能
- 除修剪外的其他功能
- 悬停功能触发器
- 使用angularjs向浏览器发送servlet响应(下载功能)
- 引导程序:在导航栏中,显示悬停在单个位置的基于Li Link的不同内容
- 单个功能的多个元素
- androidphonegap-在单个html页面中导航功能或事件时实现后退按钮
- 对多个数据集多次使用单个把手功能
- 我们可以在多个 id 上调用单个 ajax 功能吗?
- 复选框选中功能,用于单个页面中的两组复选框,不能单独调用功能
- 使用单个功能分别在多个表单中过帐值
- 如何在单个html页面中实现多个选项卡视图的自动对焦属性功能
- 定义单个函数来处理其他函数的功能
- 将ajax功能限制为单个菜单