1

我正在尝试在我的项目中使用淘汰赛 js,所以我尝试了简单的 Hello World 示例,但我无法让它工作。我创建了一个新的 MVC4 项目,只需复制下面的简单绑定就是我的代码

<script src="~/Scripts/knockout-2.1.0.js" type="text/javascript"></script>
<script type="text/javascript">

    // Here's my data model
    var viewModel = function (first, last) {
        this.firstName = ko.observable(first);
        this.lastName = ko.observable(last);

        //this.fullName = ko.computed(function () {
            // Knockout tracks dependencies automatically. It knows that fullName depends on firstName and lastName, because these get called when evaluating fullName.
            //return this.firstName() + " " + this.lastName();
        //}, this);
    };

    $(document).ready(function() {
        ko.applyBindings(new viewModel("Planet", "Earth")); // This makes Knockout get to work
    });​
</script>

<div class="liveExample">   
    <p>First name: <input data-bind="value: firstName" /></p> 
    <p>Last name: <input data-bind="value: lastName" /></p> 
    @*<h2>Hello, <span data-bind='text: fullName'> </span>!</h2>*@  
</div>

基本上它只会在文本框上显示模型的值。我已经在我的项目中引用了 knockout.js,但它不起作用我还在我的 BundleConfig.cs 中添加了 knockout js

bundles.Add(new ScriptBundle("~/bundles/knockout").Include("~/Scripts/knockout-2.1.0.js"));

我没工作

4

2 回答 2

4

如果您使用 MVC,请使用脚本部分来声明您的 JS。这会将声明移动到 HTML 页面的底部,让 HTML 先呈现。这是我第一次开箱即用的代码版本:

@{
    ViewBag.Title = "Index";
}


<h2>Index</h2>

<div class="liveExample">
    <p>First name:
        <input data-bind="value: firstName" /></p>
    <p>Last name:
        <input data-bind="value: lastName" /></p>
    @*<h2>Hello, <span data-bind='text: fullName'> </span>!</h2>*@
</div>

@section scripts {
    <script src="~/Scripts/knockout-2.2.1.js"></script>
    <script type="text/javascript">
    var viewModel = function (firstName, lastName) {
        this.firstName = ko.observable(firstName);
        this.lastName = ko.observable(lastName);
    };

    $(function () {
        ko.applyBindings(new viewModel("Planet", "Earth"));
    });
    </script>
}
于 2013-01-16T11:54:23.403 回答
0

尝试将淘汰赛放入您的文档中。没有任何错误消息,我唯一能说的是我遇到了类似的问题,这就是我的解决方法。

我的例子让我发疯,因为它在小提琴中工作但在 MVC 中不起作用,我向我的一个设计师朋友提到它,他说它是从那时起对他说的,基本上需要在页面开始渲染之前完全下载淘汰赛。

希望这可以帮助

于 2013-01-16T02:30:00.040 回答