当前位置:  开发笔记 > 编程语言 > 正文

在mvc上淘汰js

如何解决《在mvc上淘汰js》经验,为你挑选了1个好方法。

我使用带有剃刀视图引擎的.net MVC开发了应用程序.最近我正在使用knockoutjs用于MVC应用程序.

从10000英尺的鸟瞰图中,我看到两种方法都具有相似的双向绑定机制.

在第一种用于绑定模型的razor语法中,在第二种方法中,我们使用knockout数据绑定属性.

我的理解是,为什么很多人现在更喜欢Knockout和最近的所有嗡嗡声.在淘汰库中替换razor语法有什么主要优势吗?



1> JotaBe..:

他们彼此无关.

ASP.NET MVC

顾名思义,它使用MVC(模型视图控制器)技术.这意味着您拥有一个模型(所有业务逻辑),可用于创建视图模型以呈现视图(通过使用剃刀模板).浏览器可以将数据发布到控制器,控制器通常会通过创建新的视图模型来呈现新视图,并将其作为响应发送到浏览器.

因此,该技术基本上使用浏览器向服务器发送GET或POST请求,服务器以渲染视图进行应答.它可以直接使用,也可以使用AJAX.(ASP.NET MVC更通用,可以做更多的渲染视图,但这是基本的想法).

因此,ASP.NET MVC涉及所有操作中的服务器:它必须实例并使用控制器,执行操作并将其结果作为响应发送到浏览器.

昏死

在以下几个方面,这项技术完全不同:

它使用MVVM,它包含视图(HTML)和模型(JavaScript对象)之间的双向绑定.任何一端的变化都会自动应用于另一端.

它发生在客户端,没有使用或取决于服务器资源(只要它涉及Knockout)

它通常不涉及繁重的业务逻辑,而是简单的视图模型,可以显示和从用户获取数据.

这就是Knockout能为您做的事情.如果需要涉及服务器和"繁重"的业务逻辑,则需要通过发送和接收对象与服务器进行通信,这些对象通常通过公开Web API服务以JSON格式进行.(这些服务通常使用ASP.NET Web API实现,但也可以使用带有JSON结果的ASP.NET MVC操作实现,这是一个更糟糕的选择).

结论

所以ASP.NET MVC涉及控制器的连续使用和浏览器与服务器之间的通信,而Knockout是一种纯粹的客户端技术,根本不需要服务器.当然,要使Knockout应用程序有用,您通常会将其与服务器进行通信.

OTOH,Knockout允许创建单页应用程序,这是一个可以自行运行的JavaScript应用程序,无需从服务器加载新的完整页面,并且通常以Web API的形式与服务通信.这样做的一个优点是,即使没有服务器,应用程序也可以工作,并且响应速度更快,因为它不依赖于与服务器进行通信以刷新视图.

推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有