相关疑难解决方法(0)

在配置$ routeProvider时是否可以从$ templateCache获取模板?

我的目的是通过一次调用外部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.htmlmy-schedule.html流行示例的模板.

$templateCache在配置应用程序之前是否可以填写$routeProvider

configuration angularjs

13
推荐指数
1
解决办法
1万
查看次数

标签 统计

angularjs ×1

configuration ×1