我的目的是通过一次调用外部JSON文件来加载我的Web应用程序的所有模板,该文件包含所有模板名称和值的列表.
我目前正在我的应用程序的运行阶段加载这些模板:
app.run(function ($http, $templateCache) {
$http.get('/templates/all.json').success(function (data) {
var i;
for (i = 0; i < data.length; i++) {
$templateCache.put(data[i].name, data[i].template);
}
});
});
Run Code Online (Sandbox Code Playgroud)
但是,Angular.js配置阶段在运行阶段之前执行,所以当我打算从templateCache加载时:
app.config(function($routeProvider, $locationProvider) {
//App routing
$routeProvider.
//Homepage
when('/', {templateUrl: 'home.html'}).
//My schedule
when('/my-schedule', {templateUrl: 'my-schedule.html'});
});
Run Code Online (Sandbox Code Playgroud)
Angular尝试home.html从服务器加载,因为$templateCache尚未填充.
假设all.json包含用于home.html和my-schedule.html流行示例的模板.
$templateCache在配置应用程序之前是否可以填写$routeProvider?