Answers:
考虑它的最简单方法是服务器提供状态。Angular可以管理收集到该状态的更新,并将其发送到服务器上的Web / API。如果您想使用更多单页应用程序,则服务器端代码将只是您应用程序的初始状态。
Web API是将数据拉入应用程序的绝佳起点。您最终将更新默认路由,以满足您的环境设计要求,如果需要,请严格休息。
默认情况下,ASP4包含一些库,而MVC4模板中也包含这些库。页面中确实有很多不需要的东西,项目中也包括这些东西,甚至它们的默认页面也从未引用过。您应该放心地删除除jQuery以外的所有内容,甚至删除jQueryUI。许多默认值都很好,但是一旦您开始填写您的域知识,您将使用满足您特定需求的库。
即使存在严格的分歧,您仍会发现服务器端mvc仍然是对单页应用程序的非常干净的支持。一个有效的例子就是传递页面和api调用。另一个有用的功能是返回不使用母版页或仅是部分视图的视图的控制器。Angular有一个“视图”,可以用模板填充,该模板可以是静态文件,也可以是您的一条路线的一部分。
我今天早些时候读过您的评论,并提出了一个演示解决方案来展示我最初提到的内容。该解决方案还删除了一些原始的“绒毛”,尽管在添加Angular和Bootstrap时,您会获得核心库及其所有派生类。那是使用nuGet的权衡。
签出:https : //github.com/QueueHammer/AngularWithPartialViewViews
在学习Angular时,我发现Angular-Seed程序相当有帮助。特别是在我在他们的网站上尝试了演示之后。样本项目的不同之处在于它可以帮助您学习。之后,我查看了Angular-Require-Seed,但这是另一篇文章。Angular Step by Step http://docs.angularjs.org/tutorial Angular Seed:https: //github.com/angular/angular-seed
如果VS模板添加了很多我不需要的东西,也许我应该使用更简化的起点吗?
这些VS模板非常适合在开始时减少初始设置和学习曲线,但是您需要根据实际项目需求自定义它们。
例如,在此网站http://www.reviewstoshare.com上,我的朋友AngularJS
与一起使用ASP.NET MVC
。请记住,此网站已经根据需要使用ASP.MVC + Jquery进行了页面内交互。
另一方面,该站点仍有一些“ Ajaxy”性质,例如评论,投票,标记等。与Stackoverflow本身没有太大区别。在AngularJS之前,$(document).ready()
回调中的Jquery插件和功能一团糟,更不用说JS代码了。
总体而言,适当地结合使用这两种方法可以使您的网站更加流畅和正常运行。
一些值得参考的参考: