【问题标题】:jQuery template expression constraintsjQuery 模板表达式约束
【发布时间】:2011-08-10 07:40:57
【问题描述】:

我有:

<script id="foo" type="text/x-jquery-tmpl">
  <p>${100 * parseInt(x)}</p>
</script>

当我这样做时:

$('#foo').tmpl({'x':5}) // or '5'

我得到一个 TypeError(未定义的方法)。

但是如果我删除 parseInt 或者如果我将 100 移到 parseInt 之后,一切正常!

我一直在搜索,我发现的所有内容都表明 ${} 应该能够处理任意表达式,但这里似乎存在一些语法魔术/不容忍。

有什么解释吗?

【问题讨论】:

    标签: jquery jquery-templates


    【解决方案1】:

    你需要这样做:

     <p>100 * parseInt(${x})</p>
    

    【讨论】:

    • 不,我不想渲染 "100 * parseInt(5)";我想渲染“500”。
    • 那你为什么不这样做呢,$('#foo').tmpl({'x': parseInt(yourVariable)* 500})
    • 我问这个问题是为了理解为什么模板表达式不起作用,而不是找到解决方法。我已经在我的问题中给出了一些示例解决方法。
    猜你喜欢
    • 1970-01-01
    • 2020-05-10
    • 1970-01-01
    • 1970-01-01
    • 2022-11-04
    • 1970-01-01
    • 2017-03-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多