gpt4 book ai didi

javascript - 从 jQuery 调用 Handlebars 部分

转载 作者:行者123 更新时间:2023-11-29 15:38:59 26 4
gpt4 key购买 nike

假设我的 JavaScript 中有以下部分:

Handlebars.registerPartial('itemcount', '<div class="row"><div class="count span1">{{count}}</div><div class="notes span4">{{notes}}</div>/div>');

并像这样使用它:

    {{#each item_counts}}
{{> itemcount }}
{{/each}}

我如何在 jQuery 回调中使用“itemcount”部分(类似)?

$.ajax({
url: '/arc/v1/api/item_counts/',
type: 'POST',
data: {item_count:{inventory_item_id: id_val, count:count_val, date:date_val, notes:notes_val}},
dataType: 'json'
}).done(function(r){
var item_count=r.item_count;
// here is where I would want to get access to this and
//var template = Handlebars.compile(source, item_count); ????

$('.itemcount-header').after('this is after');
});

最佳答案

当您注册一个部分时,源代码存储在关联键下的 Handlebars.partials 中。然后,您可以在运行时编译此源代码并将生成的函数用作常规模板:

$.ajax({
// ...
}).done(function(r){
var item_count = r.item_count;
var markup = Handlebars.compile(Handlebars.partials.itemcount, {
count: item_count
});
});

如果您多次重复使用预编译模板,您也可以将其注册为部分模板:

Handlebars.registerPartial('itemcount',  Handlebars.compile(src));

$.ajax({
// ...
}).done(function(r){
var item_count=r.item_count;
var markup = Handlebars.partials.itemcount({
count: item_count
});
});

请注意,在注册已编译的部分时,您不必更改主模板中的任何内容。

还有一个演示 http://jsfiddle.net/nikoshr/9La3p/

关于javascript - 从 jQuery 调用 Handlebars 部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23001550/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com