【问题标题】:How to get the current item如何获取当前项目
【发布时间】:2012-03-15 14:03:22
【问题描述】:

我正在使用 Boris Moore jsRender http://www.borismoore.com/ 我正在尝试获取每个项目的实例。有人知道怎么做吗?

//render
$("divName").html(
    $('#templateName').render('data')
);

//get instance. Here is my problem
$(".PriceFromPerHotel").each(function () {
                selectedItem = $.tmplItem(this);
});

通过使用

selectedItem = $.tmplItem(this);

我收到错误消息

Object function (a,b){return new e.fn.init(a,b,h)} has no method 'tmplItem'

编辑

通过添加jQuery模板库解决了无方法异常。现在的问题是我得到一个空对象。它不返回实例。

这是我的html代码

<script id="templateName" type="text/x-jsrender">
<div class="resultsBox">
        //lot of code has here
        <p class="offerSiloPrice">{{:Currency}} <span class="PriceFromPerHotel"></span></p>                 
</div>

谢谢

【问题讨论】:

  • 试试selectedItem = $.tmplItem($(this));selectedItem = $(this).tmplItem();
  • 我试过了,但没有任何改变。我收到两种方式的错误 [Object function (a,b){return new e.fn.init(a,b,h)} has no method 'tmplItem']
  • 你找到了download the plugins 并在你的页面中调用它
  • 我以为 jquery.tmpl 和 jsRender 在同一个脚本文件中。那成功了。非常感谢

标签: jquery jsrender


【解决方案1】:

tmplItem() 是 jQuery 模板语法。在 JsRender 中相当于 $.view()。这里有几个例子http://borismoore.github.com/jsviews/demos/index.html。您应该使用 JsRender 或 jQuery 模板。它们有不同的模板标签和不同的 API。

在 JsRender 中,事物的因素与 jQuery 模板中的不同。 jQuery 模板具有 DOM 依赖项并提供 $.tmplItem() 功能。 JsRender 没有 DOM 依赖,并且执行“纯基于字符串的渲染”,这对于不需要数据链接并且不需要 $.tmplItem() 从DOM 元素到它来自的渲染模板。

但是,如果您确实想要这些功能,那么您可以在页面中包含 JsViews,它是 JsRender 之上的一层,并提供与 jQuery 模板等效的 DOM 相关功能,等等...

在 JsViews 中,tmplItem 称为“视图”。

$(selectorOrElement).tmplItem() 

在jQuery模板中对应

$(selectorOrElement).view() 

在 JsViews 中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-26
    • 2020-09-13
    • 2014-03-01
    相关资源
    最近更新 更多