我试图找出与ASP.NET MVC一起使用Angularjs框架的真正需要。因为我没有错,ASP.NET拥有自己的强大的路由引擎,MVC框架,它可以作为加载视图(模板)到母版页。
Angular的数据绑定功能(+1分)。
我理解并建议在AngularJS中使用WebAPI,因为在这种情况下,webAPI只提供数据而不是前端(视图)。
我看到几篇文章和博客,最重要的是关于如何使用,我也在使用,但现在我遇到了这个问题为什么?真的需要吗?
可能是我的问题达不到水平,但可以有效点。
答案 0 :(得分:6)
AngularJS和ASP.NET MVC执行类似的功能。但他们以不同的方式解决这个问题。
AngularJS在客户端完成它的工作,而ASP.NET在服务器上做了很多工作。
那又怎样? 这些方法之间的差异导致实现和用户体验的一系列差异。一般来说,这里有一些Pro和Con:
AngularJS =客户端执行
赞成
缺点
ASP.NET MVC =服务器执行
赞成
缺点
还有许多其他差异,但这些是第一个想到的。
答案 1 :(得分:2)
我用ASP.NET MVC完成了AngularJS,事实上我通常做的是Angular + MVC + WebAPI的组合。
我的整个网页中的每个角度应用程序通常都有一个ASP.NET MVC视图。
例如。我有一个登录MVC视图,提供给浏览器,但该页面中有其他功能,如发送反馈表单,以及其他不需要MVC视图更改的用户交互功能,对于这些功能,我使用角度来发送AJAX调用,操纵DOM等。
当用户登录时,我会有另一个MVC视图,并且在该视图中有另一个angularjs应用程序,如果需要,我可以在MVC视图中有一个ng-route视图(如果需要的话)。
在另一个MVC视图中的另一个angularJS应用程序等等,你看到了......来自角度的所有AJAX调用都是由后端的WebAPI控制器接收的,而MVC控制器只是处理变化MVC观点。
如果您想在服务MVC视图之前在razor sintax中执行大量代码,或者如果您希望在前端保留角度,则取决于您的特定项目。
我的两分钱。
编辑: 我想我从来没有回答过为什么这样使用它的问题?因为它工作得很好而且它允许你灵活地在剃刀视图上的代码上沉重,或者在角度/ javascript方面沉重>>我总是这样做=)