【问题标题】:Knockout.js no data displayedKnockout.js 没有数据显示
【发布时间】:2014-03-09 11:44:47
【问题描述】:

我刚刚开始使用 knockout.js,遇到了一些麻烦。一般来说,我对 Web 开发也很陌生。我已经浏览了所有教程,但似乎无法在我正在使用的 MVC4 应用程序中获得任何工作。

这是我尝试开始工作的最简单的版本。和knockoutjs site上的介绍教程一样

这是我的控制器:

namespace KnockoutMvcTest.Controllers
{
    public class HomeController : Controller
    {
        //
        // GET: /Home/
        public ActionResult Index()
        {
            return View();
        }
    }
}

这是我的观点:

@model dynamic

@{
    ViewBag.Title = "title";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<!-- This is a *view* - HTML markup that defines the appearance of your UI -->

<p>First name: <strong data-bind="text: firstName"></strong></p>
<p>Last name: <strong data-bind="text: lastName"></strong></p>

<script type="text/javascript">
    // This is a simple *viewmodel* - JavaScript that defines the data and behavior of your UI
function AppViewModel() {
    this.firstName = "Bert";
    this.lastName = "Bertington";
}

// Activates knockout.js
ko.applyBindings(new AppViewModel());
</script>

所有显示在浏览器中的是名字:姓氏:

很抱歉提出这样一个基本问题,但我已经卡在这一点上一天多了。我看到的所有示例都包括实体框架连接和模型。现在我只想了解 knockoutjs 是如何用于绑定的,稍后我会详细介绍。

任何帮助将不胜感激。

谢谢

【问题讨论】:

  • 您是否正确包含了淘汰赛js参考。
  • 很可能不是,这需要在哪里引用?正如我所说,我对 Web 开发非常陌生。
  • 无论是在 layout.cshtml 中还是在您想要的同一视图中。但它应该在您的 ko 代码之前。
  • 这正是问题所在。刚刚将行 &lt;script src="~/Scripts/knockout-2.2.0.js"&gt;&lt;/script&gt; 添加到 _Layout.cshtml 文件的顶部。为这个愚蠢的问题道歉。

标签: c# javascript asp.net-mvc asp.net-mvc-4 knockout.js


【解决方案1】:

您必须说 'firstName' 和 'lastName' 是可观察的。

function AppViewModel() {
    this.firstName = ko.observable("Bert");
    this.lastName = ko.observable("Bertington");
}

【讨论】:

  • 您在帖子中提到的教程的第2步中也提到了这一点。
猜你喜欢
  • 2021-12-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-07
  • 2020-07-29
  • 2016-07-11
  • 1970-01-01
相关资源
最近更新 更多