有人可以向我解释为什么我要在 ASP.NET MVC 中使用 Knockout.js 吗?做一些研究,看起来 knockout.js 的主要用途是用于数据绑定(bind)。但是,当我可以将元素与强类型 View 绑定(bind)并使用 Razor 时,为什么还需要使用 knockout.js?
而不是 knockout 方式:
<td data-bind="text: Id"></td>
我不能只用 Razor 做这个吗?
<td>@Model.Id</td>
我看到 knockout 现在包含在 MVC 4 中,但不知道如何使用它。
抱歉,如果之前有人问过这个问题,但我在 SO 上进行了一些搜索,但我找不到任何对我来说清楚的东西。
最佳答案
基本上 MVVM js 框架(如 knockoutjs)旨在用于单页应用程序,在这些应用程序中,您拥有最少的服务器端逻辑、单个服务器处理程序或 MVC Controller 操作(如果您愿意),即提供一些 HTML。并且所有的应用程序逻辑都是用 javascript 编写的。客户端只对 REST 服务进行 AJAX 调用,所有 View 模型都存在于客户端上。服务器只会向客户端发送一个初始 JSON 模型,但与此模型的所有交互都将发生在客户端上。
因此,虽然您可以在 Razor 中实现许多逻辑,但这仍然是服务器端处理。如果您想要一个完全在客户端实现的非常动态的应用程序,您可以考虑在客户端上使用这样的框架。
关于asp.net-mvc - 带有 ASP.NET MVC 和 Razor 的 Knockout.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21804414/