【问题标题】:ASP.NET MVC and Angular JS tipping pointASP.NET MVC 和 Angular JS 临界点
【发布时间】:2014-11-04 23:44:47
【问题描述】:

我想创建一个较大的 ASP.NET MVC Web 应用程序。在某些页面上,我想使用 AngularJS。

此应用将不是 SPA。

这在什么时候会成为问题?例如,在什么时候有效地运行两个 MVC 范式会让人头疼?

或者,只要您在使用 ASP.NET MVC(标准操作方法等)和使用 Angular JS 的内容之间有明确的界限,那么这两者并排运行就可以了,而不会为您提供大量的代码组织/可维护性头痛?

为任何智慧干杯。

我喜欢John Papas opinion!

安德鲁

【问题讨论】:

  • 一个很好的多页面AngularJS例子是pluralsight.com
  • @MarkusJarderot 我真的在问一个不同的问题,例如同时使用两者而不是全押。
  • pluralsight 课程AngularJS for .NET Developers 有一章是关于混合 ASP.NET MVC 和 Angular 的。

标签: asp.net-mvc angularjs asp.net-mvc-4


【解决方案1】:

由于您只是征求意见,我很乐意分享我的经验。两者混合得很好,我认为在大多数情况下(至少在我自己的大部分开发中).NET 方面变得非常轻量级。

  • 您的 .NET Web API 控制器成为对数据层的简单调用以填充模型或 List(Of T) 模型。这将作为 JSON 返回给 Angular 服务。
  • 从那里,Angular 接管所有逻辑,直到您需要执行另一个 CRUD 操作。操作、验证等都发生在客户端的模型(对我来说,Angular 服务充当 MVVM 中的模型)或角度控制器(实际上是一个 ViewModel)中。
  • 最好让模型(Angular 服务)处理尽可能多的业务逻辑,并将 Angular 控制器限制为响应点击、输入控件等。

总而言之,让你的 .NET 服务器端非常轻便。只需将数据来回传输到数据层。让 Angular 完成繁重的工作。您绝对不需要构建 SPA 即可看到 JS 数据绑定库的美妙优势,其中 Angular 可以说是最好的。

一篇包含 [details of what I've discussed here] 的优秀博文。

祝你好运!

【讨论】:

  • 很好的回应。这段 Miguel Castro 的演示视频证实了您所写的很多内容,并在该主题上添加了其他有趣的方面。特别是双路由系统(服务器和客户端)。视频演示:goo.gl/FXamny
【解决方案2】:

我将 ASP.NET MVC 与 AngularJS 一起用于相当大的内部应用程序。除了基本的页面模板和脚本捆绑之外,我们并没有真正使用 ASP.NET MVC 的许多功能——所以客户端的所有内容都由 AngularJS 和客户端路由控制——除了我们在“模块”之间做出的一些区别' 的应用程序,我们希望每个应用程序都有一个不同的 ng-app,以及不同的脚本依赖项。

如果您希望逐页利用 AngularJS,那么我认为您完全没有问题。只要您正确引用脚本(核心 AngularJS 脚本和用于模块、控制器等的 AngularJS 脚本),您就可以开始使用 ng-app、ng-controller 等来装饰元素,它就可以工作了。您可以使用@section 声明为相关的 .cshtml 页面插入相关的 AngularJS 脚本。

如果您需要混合使用服务器端和客户端路由,它只会更加复杂。然后将是一个仔细构建 ASP.NET MVC 路由以在需要的地方提供 SPA 功能的案例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-05
    • 1970-01-01
    • 2015-09-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多