Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从angularjs中的控制器动态加载css和js文件_Javascript_Angularjs_Lazy Loading - Fatal编程技术网

Javascript 如何从angularjs中的控制器动态加载css和js文件

Javascript 如何从angularjs中的控制器动态加载css和js文件,javascript,angularjs,lazy-loading,Javascript,Angularjs,Lazy Loading,我已经在这方面创建了angularjs项目。我有不同的页面,为了节省加载时间,我添加了所有登录页面不需要的css和js文件,这些文件都是使用延迟加载从第2页加载的。现在我的问题是如果我从第一页转到第三页。我的css ad js文件未加载。请为此提供一些变通解决方案 app.js $stateProvider .state('login', { url : '/', templateUrl : &quo

我已经在这方面创建了angularjs项目。我有不同的页面,为了节省加载时间,我添加了所有登录页面不需要的css和js文件,这些文件都是使用延迟加载从第2页加载的。现在我的问题是如果我从第一页转到第三页。我的css ad js文件未加载。请为此提供一些变通解决方案

app.js

$stateProvider
.state('login', {
                        url : '/',
                        templateUrl : "views/login.html",
                        controller : "loginController"
                    })
                    
.state('page1',
                            {
                                url : '/page1',
                                templateUrl : "/page1.html",
                                controller : "page1controller",
                                resolve : {
                                    lazyloadctrl : function($ocLazyLoad) {
                                        return $ocLazyLoad.load([{
                                            name : 'page1',
                                            files : ['./js/file1.js',
                                                      './js/lib/file1.js',
                                                        './js/lib/file2.js',
                                                          './js/lib/file3.js',
                                                            './js/lib/file4.js',
                                                      './css/part1.css',
                                                     './css/part2.css',
                                                    ]
                                        
                                        }]);
                                    }
                                }
                            })
    .state('page2',
                            {
                                url : '/page2',
                                templateUrl : "/page2.html",
                                controller : "page2controller",
                                resolve : {
                                    lazyloadctrl : function($ocLazyLoad) {
                                        return $ocLazyLoad.load([{
                                            name : 'page2',
                                            files : ['./js/file2.js']
                                        
                                        }]);
                                    }
                                }
                            })
在我的控制器中:

if(result=='page1') {
$state.go("page1");
}
else if(result=='page2') {
$state.go("page3");
}
else if(result=='page3') {
$state.go("page3");
}                                       }

请提供你的恼人的脚本,然后我会完全修复它们。根据您的描述,我向您推荐此代码。@Sophie请为我提供解决方案,我有一堆代码。你能指定我需要提供哪些代码吗?我想要你的应用程序file@Sophie我已经更新了我的app.js,请检查it@Sophie你做对了吗?我这边有什么要求吗