我正在考虑使用AngularJS完成一个完整的SPA应用程序,该应用程序将在初始请求中下载所有视图代码,然后通过AJAX请求与服务器进行通信。
最大的好处是看起来应用程序在本地运行。
缺点是,在初始请求中,应用程序可能需要2分钟才能加载,因为它会向服务器发出大约40页的请求。
是否有办法在单个请求中下载所有应用程序视图,比如使用某种ASP.Net MVC包?
答案 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
。