我找不到任何关于此的文档或文章。
我们在我工作的公司有 MVC 项目。
我们在它之上构建了 Angular SPA。
我们还希望它可以离线工作。
所以,我需要缓存。在 AngularJS 中找到 $templateCache 模块。
并试图实施它。由于项目是 MVC,所以我要加载到 ng-view 中的所有模板实际上都是 MVC 部分视图,我可以通过调用 {Controller}/{Action} 来加载它们。
但是在这种情况下,互联网上没有实现 $templateCache 的示例。
所有示例都展示了如何使用静态模板,例如 mytemplate.html 或字符串。这在 MVC 下不起作用。
所以,我试图弄清楚如何做到这一点,为 app.ts 写了这个:
namespace AppDomain {
"use strict";
export let app = angular.module("app", ["ngRoute"]);
app.config(function ($routeProvider) {
$routeProvider
.when("/", { templateUrl: "Home/Template?name=Main", controller: "Controller", controllerAs: "vm" })
.when("/About", { templateUrl: "Home/Template?name=About", controller: "Controller", controllerAs: "vm" })
.when("/Contact", { templateUrl: "Home/Template?name=Contact", controller: "Controller", controllerAs: "vm" })
.otherwise({ redirectTo: "/" });
});
app.run(function ($templateCache) {
$templateCache.put("Home/Template?name=Main", "Home/Template?name=Main");
$templateCache.put("Home/Template?name=About", "Home/Template?name=About");
$templateCache.put("Home/Template?name=Contact", "Home/Template?name=Contact");
});
}
显然这行不通。有什么建议么?谢谢。