Knockout.js 敲除不显示可观察数组?

Knockout.js 敲除不显示可观察数组?,knockout.js,Knockout.js,好友列表不会呈现为列表,除非您使用的是非常旧的Knockout版本,否则您不需要引用jQuery和Knockout以外的任何内容。有两种解决方案,带模板或不带模板 有了模板,您只需要以正确的方式使用。你的代码应该是这样的 <h2>Friends</h2> <div data-bind="template: 'friendsTemplate'"></div> <script id="friendsTemplate" t

好友列表不会呈现为列表,除非您使用的是非常旧的Knockout版本,否则您不需要引用jQuery和Knockout以外的任何内容。有两种解决方案,带模板或不带模板

有了模板,您只需要以正确的方式使用。你的代码应该是这样的

<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>