在MVC上淘汰赛JS

用户名

我已经使用带有剃刀视图引擎的.net MVC开发了应用程序。最近,我正在研究用于MVC应用程序的基因敲除js。

从10000英尺的鸟瞰图来看,我发现这两种方法都具有相似的双向绑定机制。

在第一种方法中,使用剃刀语法绑定模型,在第二种方法中,使用剔除数据绑定属性。

我的理解是,为什么今天很多人更喜欢淘汰赛和最近的嗡嗡声。取代基因敲除库,替换剃刀语法有什么主要优势?

乔塔贝

他们彼此无关。

ASP.NET MVC

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

因此,该技术基本上是使用浏览器将GET或POST请求发送到服务器,然后服务器使用呈现的视图进行回答。它可以直接执行,也可以使用AJAX。(ASP.NET MVC的用途更加广泛,并且除了呈现视图之外还可以做更多的事情,但这是基本思想)。

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

昏死

该技术在以下几个方面完全不同:

  • 它使用MVVM,它包含视图(HTML)和模型(JavaScript对象)之间的双向绑定。任何一端的更改都会自动应用到另一端。
  • 它发生在客户端,而不使用或不依赖服务器资源(就Knockout而言)
  • 它通常不涉及繁琐的业务逻辑,而是可以显示并从用户获取数据的简单视图模型。

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

结论

因此,ASP.NET MVC涉及控制器的不断使用以及浏览器与服务器之间的通信,而Knockout是一种完全不需要服务器的纯客户端技术。自然,为了使淘汰赛应用程序有用,通常需要与服务器进行通信。

OTOH,Knockout允许创建一个单页应用程序,它是一个JavaScript应用程序,可以独立运行,而无需从服务器加载新的完整页面,并且通常以Web API的形式与服务进行通信。这样做的一个优点是,即使在另一端没有服务器的情况下,该应用程序也可以运行,并且响应速度更快,因为它不需要依赖服务器来刷新视图。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章