【问题标题】:Asynchronous jQuery templates异步 jQuery 模板
【发布时间】:2011-06-16 10:46:39
【问题描述】:

我希望能够创建由一些异步查询获取的数据填充的 jQuery 模板,为此我需要参考我在模板中呈现的元素。我想出了一个使用生成的类名的解决方案,我在渲染模板后使用它来插入数据,但这是一个杂项。有没有办法从模板代码中获取对渲染元素的引用?这是我想要工作的代码:

<script>
function renderData(prduct_id, element){
 getProductData(product_id, function(data){
  $(e).empty();
  $("#product-info-tmpl").tmpl({"data":data}).appendTo($(element));
 }); 
}
</script>

<script id="product-info-loading-tmpl" type="text/x-jquery-tmpl">
loading
//Here is where I'd need a reference to the rendered element
${renderData(product_id, this_element_when_rendered)}
</script>

【问题讨论】:

  • 当更多地考虑这一点时,可能无法获得对模板在编译时将呈现的内容的引用,因此需要一种不同的方法。我正在使用 html5 数据属性重做它,但如果有人对此有更多意见,请继续发布答案。

标签: javascript jquery ajax jquery-templates


【解决方案1】:

这有帮助吗,所以在你的情况下,$item 可能是 $item.parent 之类的......

http://api.jquery.com/template-tag-equal/某处复制

$item 和 $data 模板变量 以下变量暴露于 表达式评估 模板:

$:jQuery 对象。 $项目: 当前模板项 - 它允许 访问 $item.data、$item.parent、 等以及任何用户定义的 传入的值或方法 选项图。 $data:当前数据 项目(相当于 $item.data)。笔记: 带有内容的模板标签,例如 {{each}}...{{/each}} 可能会暴露 模板的附加变量 内容内的评价。在里面 {{each}} 的情况,例如, 额外的模板变量 $value 和 $index 在 {{each}} 标签的内容。

【讨论】:

  • 不,这没有帮助,因为 $item 和 $data 变量引用模板内部的东西,而不是模板的生成输出,我需要能够添加东西之后再去。
猜你喜欢
  • 2015-11-22
  • 1970-01-01
  • 2016-03-30
  • 2012-09-15
  • 1970-01-01
  • 2015-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多