Javascript 将把手渲染为HTML时出现的问题
当我用html呈现我的把手模板时,它看起来基本上跳过了“把手”部分的填充。我基本上是打印带有标题和内容的消息,并且使用“!each”帮助程序显示我的所有消息。我最初认为这是因为它转义了它周围的html,所以我尝试在每个部分上使用一个三重句柄条{{{{{{{{{{},但是使用带有三重隐藏的每个辅助对象给了我一个错误。我是否可能错误地使用了把手 我用于呈现HTML和我的把手模板的typescript如下所示:Javascript 将把手渲染为HTML时出现的问题,javascript,jquery,html,handlebars.js,Javascript,Jquery,Html,Handlebars.js,当我用html呈现我的把手模板时,它看起来基本上跳过了“把手”部分的填充。我基本上是打印带有标题和内容的消息,并且使用“!each”帮助程序显示我的所有消息。我最初认为这是因为它转义了它周围的html,所以我尝试在每个部分上使用一个三重句柄条{{{{{{{{{{},但是使用带有三重隐藏的每个辅助对象给了我一个错误。我是否可能错误地使用了把手 我用于呈现HTML和我的把手模板的typescript如下所示: 公共静态刷新数据(数据:任意){ $(“#indexMain”).html(handle
公共静态刷新数据(数据:任意){
$(“#indexMain”).html(handlebar.templates['main.hbs'](数据));
//upvote按钮的辅助功能
把手.注册表帮助器('getUButton',函数(id){
id=把手。EscapeeExpression(id);
返回新把手。安全字符串(
“向上投票”
);
});
//下一票按钮的辅助功能
把手。注册表帮助器(“getDButton”,函数(id){
id=把手。EscapeeExpression(id);
返回新把手。安全字符串(
“否决票”
);
});
//抓取模板脚本
var theTemplateScript=$(“#主模板”).html();
//编译模板
var theTemplate=handlebar.compile(模板脚本);
//从服务器获取消息并将其添加到上下文中
//这是传递给模板的默认上下文
变量上下文={
信息:数据
}
log(“上下文:”)
console.log(上下文);
//将数据传递到模板
var theCompiledHtml=模板(上下文);
console.log(compiledhtml);
//将编译后的html添加到页面
$(“#消息占位符”).html(模板(上下文));
//添加所有单击处理程序
//获取id以u开头的所有按钮,并设置单击列表器
$(“.up按钮”)。单击((事件)=>{
var id=$(event.target).attr(“id”).substring(1);
main.upvote(id)
});
//获取id以d开头的所有按钮,并设置单击列表器
$(“.down按钮”)。单击((事件)=>{
var id=$(event.target).attr(“id”).substring(1);
主。下一票(id)
});
}
当前消息
{{{#每条消息}
计票:{{likeCount}
{{title}}
{{content}
{{getUButton id}}
{{getDButton id}}
{{/每个}}
发布新消息
标题
消息
留言
好的,那么提供给模板的数据可能格式不正确。这是一个工作片段(去掉了非基本内容)。传递给refreshData
模板的数据必须是数组。请确保它不是包含数组的对象
页面标题
让刷新数据=(数据)=>{
//抓取模板脚本
var theTemplateScript=$(“#主模板”).html();
//编译模板
var theTemplate=handlebar.compile(模板脚本);
//从服务器获取消息并将其添加到上下文中
//这是传递给模板的默认上下文
变量上下文={
信息:数据
};
log(“上下文:”,上下文);
//将编译后的html添加到页面
$(“#消息占位符”).html(模板(上下文));
}
$(() => {
风险值数据=[
{likeCount:3,标题:'我的标题',内容:'一些内容'},
{likeCount:0,标题:“我的第二个标题”,内容:“其他一些内容”}
];
刷新数据(数据);
})
当前消息
{{{#每条消息}
计票:{{likeCount}
{{title}}
{{content}
{{/每个}}
发布新消息
标题
消息
留言
很抱歉,我本应包含更多的代码,我正试图使其更易于阅读,但是,我编辑了上面的评论,以包含整个把手模板,我实际上已经包含了脚本标记,并且我有使用此模板并将其呈现为html的整个方法。根据您的建议重新编写了我的答案补充澄清。