Мое намерение - загрузить все шаблоны моего веб-приложения с помощью одного вызова внешнего файла JSON, содержащего список всех имен и значений шаблона.
В настоящее время я загружаю эти шаблоны на этапе запуска своего приложения:
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);
}
});
});
Однако фаза Angular.js выполняется перед фазой запуска, поэтому, когда я намереваюсь загрузить из шаблонаCache:
app.config(function($routeProvider, $locationProvider) {
//App routing
$routeProvider.
//Homepage
when('/', {templateUrl: 'home.html'}).
//My schedule
when('/my-schedule', {templateUrl: 'my-schedule.html'});
});
Angular пытается загрузить home.html
с сервера, потому что $templateCache
еще не заполнен.
Предположим, что all.json
содержит шаблоны для home.html
и my-schedule.html
для предыдущего примера.
Можно ли заполнить $templateCache
перед настройкой приложения $routeProvider
?