使用AngularJS的完整SPA应用程序

时间:2014-11-21 10:56:00

标签: angularjs bundle single-page-application

我正在考虑使用AngularJS完成一个完整的SPA应用程序,该应用程序将在初始请求中下载所有视图代码,然后通过AJAX请求与服务器进行通信。

最大的好处是看起来应用程序在本地运行。

缺点是,在初始请求中,应用程序可能需要2分钟才能加载,因为它会向服务器发出大约40页的请求。

是否有办法在单个请求中下载所有应用程序视图,比如使用某种ASP.Net MVC包?

2 个答案:

答案 0 :(得分:0)

您可以使用$ templateCache服务一次下载多个视图。在运行阶段,您可以定义它们(其中一些)。

var myApp = angular.module('myApp', []);
myApp.run(function($templateCache) {
  $templateCache.put('template1.html', 'This is the content of the template 1');
  $templateCache.put('template2.html', 'This is the content of the template 2');
  $templateCache.put('template3.html', 'This is the content of the template 3');
});

答案 1 :(得分:0)

我做了类似的事情。我正在使用Asp.net MVC& WebApi AngularJS。{/ p>

我的第一个请求是MVC操作 - >它返回一种母版页(包括包) 当页面下到客户端时,AngularJS开始并负责。

现在我的模板视图也通过Razor视图引擎呈现(因为我需要一个特殊的内部引擎来定位我的相关模板) - 我可以使用bundle和其他.net内容而不是获取普通的html 。

现在以这种方式使用模板可能很糟糕。 关于我希望Razor视图引擎在此过程中执行的操作,我添加了红线。
在项目中使用Razor views \ templates时,很容易误用AngularJS