Knockout.js knockoutjs模板不工作

Knockout.js knockoutjs模板不工作,knockout.js,jquery-templates,Knockout.js,Jquery Templates,我在看一段关于击倒的视频,我不知道为什么我的代码不起作用 我正在使用这些js脚本: <script src="assets/js/knockout-2.0.0.js" type="text/javascript"></script> <script src="assets/js/jquery-1.7.1.min.js" type="text/javascript"></script> <script src="asse

我在看一段关于击倒的视频,我不知道为什么我的代码不起作用

我正在使用这些js脚本:

    <script src="assets/js/knockout-2.0.0.js" type="text/javascript"></script>
    <script src="assets/js/jquery-1.7.1.min.js" type="text/javascript"></script>
    <script src="assets/js/jquery.tmpl.min.js" type="text/javascript"></script>    

<h2>Friends</h2>
    <ul data-bind="template: {name: 'friendsTemplate', foreach:friends}"></ul>

    <script type="text/html" id="friendsTemplate">
        <li>${ data.name }</li>
    </script>

<script type="text/javascript">

    function friend(name) {
        return { name : ko.observable(name) };
    }

    var viewModel = {
        friends : ko.observableArray([new friend('João'), new friend('Lucas')])
    };
    ko.applyBindings(viewModel);
</script>
我做错了什么

提前谢谢

编辑 做一些测试,这段代码可以工作,因为它没有使用模板,所以我的代码是正确的,问题只在于模板

<script type="text/html" id="friendsTemplate">
    <li><span data-bind="text: name"></span></li>
</script>

  • 试试:

    
    
  • $data.name
  • 或者,您可以执行以下操作:

    <script type="text/html" id="friendsTemplate">
        <li data-bind="text: name"></li>
    </script>
    
    
    

  • 您应该在knockoutjs之前引用jquery.tmpl

    <script src="assets/js/jquery-1.7.1.min.js" type="text/javascript"></script>
    <script src="assets/js/jquery.tmpl.min.js" type="text/javascript"></script>
    <script src="assets/js/knockout-2.0.0.js" type="text/javascript"></script> 
    
    
    
    并将${data.name}更改为${name}

    <script type="text/html" id="friendsTemplate">
        <li data-bind="text: name"></li>
    </script>
    
    <script src="assets/js/jquery-1.7.1.min.js" type="text/javascript"></script>
    <script src="assets/js/jquery.tmpl.min.js" type="text/javascript"></script>
    <script src="assets/js/knockout-2.0.0.js" type="text/javascript"></script>