Javascript 在浏览器中使用NUNJUCK时,如何仅请求一次模板以使用不同的值进行迭代?
我在浏览器中多次渲染Nunjuck模板:Javascript 在浏览器中使用NUNJUCK时,如何仅请求一次模板以使用不同的值进行迭代?,javascript,jquery,ajax,nunjucks,Javascript,Jquery,Ajax,Nunjucks,我在浏览器中多次渲染Nunjuck模板: $.ajax({ url: '/products', contentType: 'application/json', type: 'GET', success: function(response) { var $tableBody = $('#products-table-body'); response.products.forEach(function(product) { $tableBody.ap
$.ajax({
url: '/products',
contentType: 'application/json',
type: 'GET',
success: function(response) {
var $tableBody = $('#products-table-body');
response.products.forEach(function(product) {
$tableBody.append(
nunjucks.render( '_item-row.html', { id: product.id, name: product.name } )
);
});
}
});
这就是为每次迭代创建一个HTTP请求,每次只接收相同的模板,如果我只想使用相同的模板为每次迭代插入不同的值,这似乎是不必要的
如何只请求一次模板,然后使用单个模板请求在每次迭代中填写值?多亏了这些帮助,我找到了答案
var env = new nunjucks.Environment(new nunjucks.WebLoader('../views'));
$.ajax({
url: '/products',
contentType: 'application/json',
type: 'GET',
success: function(response) {
var $tableBody = $('#products-table-body');
var template = env.getTemplate('_item-row.html');
response.products.forEach(function(product) {
$tableBody.append(
nunjucks.render( template, { id: product.id, name: product.name } )
);
});
}
});
美好的但是从哪里获得
nunjucks
对象呢?这个代码是客户端对吗?是的。只需使用NPM进行安装,然后以各种方式将其包含在页面中: