【发布时间】:2011-09-20 23:50:58
【问题描述】:
我刚刚开始使用 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.
【问题讨论】:
标签: knockout.js jquery-templates