2013-08-23 46 views
0

在jquery.tmpl中爲淘汰賽視圖模型做數學表達式似乎不工作。有沒有另一種方法來做到這一點?通過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> 

enter image description here

+0

您的jsfiddle不起作用。 jquery tmpl的鏈接不是text/javascript。我試圖使用微軟的CDN和淘汰賽在這個版本不高興。 – awbergs

+0

@awbergs在FireFox中看起來不錯。附上一張截圖以防萬一。 – Levitikon

+0

必須是鉻問題。我會在FF – awbergs

回答

1

number值不是實際值。這是一個函數,當用0個參數調用時,返回期望值。當你評估

${number/2} 

你有效地做着同樣的事情,

(function(){})/2 

如果你改變了表達這個樣子,而不是

${number()/2} 
返回 NaN

表達

您將得到期望值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 
} 
+0

看看你是我最喜歡的人!謝謝! – Levitikon