1

我是第一次使用 jsRender,我找不到太多完整的文档。

我正在使用此模板填充网格 -

<script id="my-grid" type="text/x-jsrender">
    <div class="grid-item">
         <img class="grid-item-image" src="img.gif" />
         <div class="grid-item-description">{{clean:Name}}</div>
    </div>
</script>

我设置了一个转换器来清理返回的数据Name-

$.views
    .converters({
        clean: function (x) {
            if (x) {
                x=x.replace(/<br \/>/gi, " - ");
            } else {
                x="";
            }
            return x;
        }
    });

转换器工作正常,但我想要做的实际上是删除元素grid-item-description的这个实例else(当没有要显示的文本时)。

如何找出我当前在 jsRender 中的哪个元素来删除该元素?

谢谢!- 迈克

4

1 回答 1

2

首先,您可以在此页面上找到示例:http: //borismoore.github.io/jsrender/demos/demos.html

您的问题需要的示例是: http ://borismoore.github.io/jsrender/demos/step-by-step/04_if-else-tag.html

你需要做的是用 if 标签包围元素:

<script id="my-grid" type="text/x-jsrender">
    {{if Name}}
    <div class="grid-item">
         <img class="grid-item-image" src="img.gif" />
        <div class="grid-item-description">{{clean:Name}}</div>
    </div>
    {{/if}}
</script>

您甚至不需要else函数中的条件。

可以在jsfiddle上找到这方面的工作示例

于 2013-04-25T12:08:49.343 回答