【问题标题】:If statement in jQuery templatejQuery模板中的if语句
【发布时间】:2012-09-04 04:55:01
【问题描述】:

以下代码返回错误Uncaught ReferenceError: size is not defined”如果未定义可变大小,则在 Chrome 中:

<script type="text/x-jquery-tmpl">    
    {{if name && size}}
        <p>${name}</p>
        <p>${size}</p>
    {{/if}}
</script>

虽然这段代码工作正常

<script type="text/x-jquery-tmpl">  
    {{if name}}
        {{if size}}
            <p>${name}</p>
            <p>${size}</p>
        {{/if}}
    {{/if}}
</script>

我能否以某种方式使其在 Chrome 中运行不使用 double if 语句,为什么它会返回错误?

【问题讨论】:

  • 你试过{{ if (name &amp;&amp; size) }}吗?
  • 发布您的对象,可能该对象不包含sizesize 处于与name 不同的级别。
  • 亚历山大,是的,我试过了。蛇眼,对象不包含大小。 if 语句用于检查它。

标签: javascript jquery google-chrome jquery-templates


【解决方案1】:

试试这个

<script type="text/x-jquery-tmpl">    
    {{if (name != null && size != null)}}
        <p>${name}</p>
        <p>${size}</p>
    {{/if}}
</script>

注意 if 语句后面的空格。

【讨论】:

    【解决方案2】:

    试试这个:

    <script type="text/x-jquery-tmpl">    
        {{if name && size != null && size}}
            <p>${name}</p>
            <p>${size}</p>
        {{/if}}
    </script>
    

    【讨论】:

    • 遗憾的是这对我不起作用。有人愿意确认/更新吗?
    • 相同错误(对象属性名称不同除外)。我最终使用了双 if 语句。这是一个相对较大的模板中的几个字段。
    • @penguat,尝试使用 isset($variable) 检查而不是 != null... 希望有帮助 ;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-29
    • 2016-11-26
    • 1970-01-01
    • 2014-11-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多