Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将渲染的把手模板加载到div中?_Javascript_Jquery_Html_Handlebars.js_Template Engine - Fatal编程技术网

Javascript 如何将渲染的把手模板加载到div中?

Javascript 如何将渲染的把手模板加载到div中?,javascript,jquery,html,handlebars.js,template-engine,Javascript,Jquery,Html,Handlebars.js,Template Engine,我正在尝试使用动态构建模板并将其添加到布局中。我通常这样做: $('#pageTabContent').append('\ <div class="tab-pane" id="'+ticketId+'">\ And a whole lot more HTML here.. </div>'); 该警报显示正确呈现的html,包括ticketId,但它只是拒绝附加到#pageTabContent

我正在尝试使用动态构建模板并将其添加到布局中。我通常这样做:

$('#pageTabContent').append('\
            <div class="tab-pane" id="'+ticketId+'">\
                And a whole lot more HTML here..
            </div>');
该警报显示正确呈现的html,包括ticketId,但它只是拒绝附加到#pageTabContent。在这里我有点迷路了。我尝试了各种变体,但似乎无法将其附加到#pageTabContent div

有人知道我做错了什么吗?欢迎所有提示

[编辑] 它试图附加的值,我在警报中看到的值是:

<div class="tab-pane" id="99">
    This is the content from the separate file!
</div>

这是单独文件中的内容!
试试这个

$.get('/templates/tab_contents.html').then(function(src) {
    var renderedTemplate = Handlebars.compile(src)({ticketId: 99});
    alert(renderedTemplate);
    $('#pageTabContent').append(renderedTemplate.ToString());
});

renderedTemplate可以是字符串以外的另一个对象。可能需要将其字符串化以使其正确附加?

我当然也尝试过,但不幸的是,这也不起作用。因为这确实是更符合逻辑的尝试,所以我只是编辑了我的初始问题,使其再次类似。您还有其他建议吗?@kramer65您能发布警报中显示的值吗?这样我就可以看到要添加的内容了?只需添加一个console.log(renderedTemplate);因此,您可以从控制台窗口复制!我把它添加到我的初始问题中。我想说这很简单。有什么想法吗?@kramer65,你能不能打断附加和检查呈现模板的类型。$().append可能将其视为另一个对象,而不是字符串。可能需要。toString()吗?我已经计划在下午给你写一个答案(现在就在这里)。今天我做了一个简单的检查(renderedTemplate===stringTemplate),突然一切都正常了。我真的不知道为什么以前没有。这可能是某种缓存问题(我想我已经排除了),也可能只是我犯了一个非常愚蠢的错误(但我真的不知道我是如何解决的)。所以,虽然问题解决了,但我真的不知道问题出在哪里。但我要感谢你的帮助和精力。像你这样的人让世界变得更美好!:)干杯
$.get('/templates/tab_contents.html').then(function(src) {
    var renderedTemplate = Handlebars.compile(src)({ticketId: 99});
    alert(renderedTemplate);
    $('#pageTabContent').append(renderedTemplate.ToString());
});