【问题标题】:Math expressions with knockout through jquery.tmpl values?通过 jquery.tmpl 值淘汰的数学表达式?
【发布时间】:2013-08-23 15:07:13
【问题描述】:

在 jquery.tmpl 中为淘汰视图模型执行数学表达式似乎不起作用。有没有其他方法可以做到这一点?

http://jsfiddle.net/Z8F8r/

<p data-bind="text: number" /> <-- shows 10 as expected

<script id="numberTemplate" type="text/html">
    ${number} <-- Shows 10 as expected
    ${number/2} <-- Shows NaN
</script>

【问题讨论】:

  • 你的 jsfiddle 不起作用。 jquery tmpl 的链接不是文本/javascript。我尝试使用 microsoft CDN,并且对版本感到不满意。
  • @awbergs 在 FireFox 中看起来不错。附上截图以防万一。
  • 必须是 chrome 问题。我去FF看看

标签: knockout.js jquery-templates


【解决方案1】:

number 值不是实际值。这是一个函数,当使用 0 个参数调用时,它会返回预期值。当你评估表达式时

${number / 2}

你实际上在做同样的事情

(function(){}) / 2

返回NaN

如果您将表达式改为如下所示

${number() / 2}

你会得到5的期望值

eval的值可以看到number的实际内容。

${eval(number)}

返回这个函数

function d(){
    if(0<arguments.length)
    {
        if(!d.equalityComparer||!d.equalityComparer(c,arguments[0]))
            d.H(),
            c=arguments[0],
            d.G();
            return this
    }

    b.r.Wa(d);
    return c
}

【讨论】:

  • 你是我最喜欢的人!谢谢!
猜你喜欢
  • 2013-05-29
  • 2018-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-13
相关资源
最近更新 更多