通过jquery.tmpl值挖出的数学表达式?

时间:2013-08-23 15:07:14

标签: knockout.js jquery-templates

在jquery.tmpl中为knockout viewmodels执行数学表达式似乎不起作用。还有另一种方法吗?

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>

enter image description here

1 个答案:

答案 0 :(得分:1)

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

${number / 2}

你实际上和

做了同样的事情
(function(){}) / 2

返回NaN

如果您将表达式更改为“

${number() / 2}

您将获得5

的预期值

如果您number值,则可以看到eval的实际内容。

${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
}