对于MVC、Web API、AngularJS这三种技术,我都有一定的经验。
但我单独使用 MVC + jQuery,单独使用 Web API + AngularJS。
我找到了 some articles关于混合 MVC + AngularJS,但实际上我没有明白这一点:为什么我需要混合它们?
所以我现在的问题是:
- 将“MVC + AngularJS”与“Web API + AngularJS”混合使用的优缺点是什么
编辑:如何通过混合使用 MVC + Angular 来获得最佳效果? 或者通过使用 Web API +Angular 我不会错过任何东西(我认为是这种情况)? 或者,如果我决定单独使用 Web API + Angular,特别是当我以 SPA 为目标时,我会错过 MVC 的什么?
与 Web API + Angular 相比,使用 MVC + Angular 的主要优势在于您的服务器可以在将 View 发送到客户端之前直接操作 View 中的 html 标记。在 Web API 的情况下,服务器只产生一个 json 序列化模型, View 完全是 Angular 的关注点。
另一个更喜欢 MVC 方法的原因是,如果您不想使用 Angular 的全部功能。例如,您可能会选择使用 MVC 进行路由而不是 Angular 路由提供程序。
MVC + Angular 方法的一个缺点是您的 html 标记将包含混合的 angular 和 razor 代码。这可能会降低它的可读性,并且任何从事它工作的人都必须能够使用两种语言。
此外,如果您最终只使用 Angular 的一小部分,这可能是一个很好的迹象,表明您本可以使用更简单的 JavaScript 框架。例如,如果您只使用模型绑定(bind),则可以使用 Knockout .
最后,您可以考虑将 MVC 和 Web API 与 Angular 一起使用,以实现两全其美。例如,您可以将 MVC View 用于与 SEO 相关的标记,并使用 Web API 来公开您的模型。