2011-09-20 108 views
2

我剛剛開始使用knockout.js,並且遇到了一些問題。我可以綁定文本變量,但似乎無法對模板執行任何操作。這裏有什麼問題?文本綁定在淘汰賽中工作,但不是模板

<html> 
<head> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js" type="text/javascript"></script> 
    <script src="underscore-min.js" type="text/javascript"></script> 
    <script src="knockout-1.2.1.js" type="text/javascript"></script> 

<script id="myTemplate" type="text/x-jquery-tmpl"> 
{{each objs}} 
    ${var1} ${var2}<br/> 
{{/each}} 
</script> 

<script type="text/javascript"> 
var myObj = function(var1, var2) { 
    this.var1 = var1; 
    this.var2 = var2; 
} 

var viewModel = { 
    myText: ko.observable("See...?"), 
    objs: ko.observableArray([ 
     new myObj("Foo","Bar"), 
     new myObj("Foo","Bar") 
    ]) 
}; 
</script> 

<script type="text/javascript"> 
$(document).ready(function(){ 
    ko.applyBindings(viewModel); 
}); 
</script> 


</head> 
<body> 
<div id="main"> 
    This works: 
    <span data-bind="text: myText"></span> 
    <br/> 

    There should be stuff here: 
    <span data-bind="template: 'myTemplate'"></span> 
    But there isn't. 
</div> 
</body> 
</html> 

順便說一句,我得到這樣的輸出:

This works: See...? 
There should be stuff here: But there isn't. 

回答

2

啊哈。我錯過了jquery.tmpl.min.js。

關於knockout文檔的一件事 - 內聯示例非常繁重,但很難找到實際設置文件的示例。