Knockout.js 敲除不显示可观察数组?
好友列表不会呈现为列表,除非您使用的是非常旧的Knockout版本,否则您不需要引用jQuery和Knockout以外的任何内容。有两种解决方案,带模板或不带模板 有了模板,您只需要以正确的方式使用。你的代码应该是这样的Knockout.js 敲除不显示可观察数组?,knockout.js,Knockout.js,好友列表不会呈现为列表,除非您使用的是非常旧的Knockout版本,否则您不需要引用jQuery和Knockout以外的任何内容。有两种解决方案,带模板或不带模板 有了模板,您只需要以正确的方式使用。你的代码应该是这样的 <h2>Friends</h2> <div data-bind="template: 'friendsTemplate'"></div> <script id="friendsTemplate" t
<h2>Friends</h2>
<div data-bind="template: 'friendsTemplate'"></div>
<script id="friendsTemplate" type="text/html">
<ul>
{{each friends }}
<li>${ name }</li>
{{/each}}
</ul>
</script>
<script type="text/javascript">
function friend(name) {
this.name = ko.observable(name);
}
var ViewModel = {
firstName: ko.observable("Chandan"),
lastName: ko.observable("Khatwani"),
friends: ko.observableArray([new friend("Amit"), new friend("Altamash")])
};
ViewModel.fullName = ko.dependentObservable(function () {
return this.firstName() + " " + this.lastName();
}, ViewModel);
ko.applyBindings(ViewModel);
</script>
没有一个更简单的方法
<ul data-bind="template: { name: 'friendsTemplate', foreach: friends }"></ul>
<script id="friendsTemplate" type="text/html">
<li data-bind="text: name"></li>
</script>
您的浏览器控制台中是否有任何错误?您是否参考了文档中描述的jquery和jquery.tmpl?否则您的代码应该可以工作:在查看文档之后,我添加了jquery.tmpl文件。但是在添加tmpl文件后,我在knockout.js的第58行发现了一个javaruntime错误,我从未见过您用于foreach循环的语法。您使用的是什么版本的KO?通常我不得不做数据绑定
<ul data-bind="foreach: friends">
<li data-bind="text: name"></li>
</ul>