淘汰赛JS:无法看到预期的结果

问题描述 投票:0回答:2

我正在尝试通过编写一个小型应用程序来学习淘汰赛。我的代码很简单。我可能在犯一个小错误,所以没有显示任何结果。

下面是代码

Index.cshtml

    <div>
    <ul data-bind="foreach:list">
        <li>
            <span data-bind="text:name"></span>
        </li>
    </ul>
</div>

<script src="~/Scripts/jquery-1.7.1.min.js" type="text/javascript"></script>
<script src="~/Scripts/knockout-2.1.0.js" type="text/javascript"></script>
<script src="~/Content/MyScripts/PracticeScript.js" type="text/javascript"></script>

PracticeScript.js

    $(function () {
    var data = [
    { name: "microsoft" },
    { name: "google" },
    { name: "facebook" },
    { name: "twitter" },
    { name: "Apple" }
    ];

    var viewModel = {
        item: ko.observable(""),
        list: ko.observableArray(data),
        addNewItem: function () {
           this.list.push(this.item());
        }
    };
    ko.applyBindings(this.viewModel);
});
javascript asp.net-mvc-4 knockout.js
2个回答
1
投票

在您的示例中,您传递this.viewModel,但viewModel对象不属于此对象。

因此,基本上,您将undefined作为viewModel而不是实际的对象。

[DEMO] >>


1
投票

this中删除ko.applyBindings

© www.soinside.com 2019 - 2024. All rights reserved.