控制器没有加载ocLazyLoad

时间:2015-12-22 09:04:42

标签: angularjs oclazyload

我新添加了lazyload库。

var app = angular.module(subdomain, ['ngRoute','ngResource','ngCookies','ngSanitize','angular-md5','mm.foundation','chieffancypants.loadingBar', 'ngAnimate','ui-notification','infinite-scroll','oc.lazyLoad']);

我在路线页面加载了控制器:

 $routeProvider
     .when('/',
     {
        templateUrl: 'app/components/home/home.html',
        access: { requiredLogin: true },
        resolve: {
            lazy: ['$ocLazyLoad', function($ocLazyLoad) {
                return $ocLazyLoad.load([{
                    name: 'app',
                    files: ['dist/home.min.js']
                }]);
            }]
        },
        controller: 'homeController'
    })

我的控制器文件有:

app.controller("homeController",[....])

我得到家庭控制器没有定义错误。如果我将应用程序更改为控制器中的angular.module它的工作,但这不是我想要的。有没有解决方案,所以我可以使用app变量?

2 个答案:

答案 0 :(得分:0)

看起来你和这个家伙有同样的问题:https://stackoverflow.com/a/44414548/1040731

您应该通过模块angular.module('myapp').controller('homeController',...)

引用您的控制器

答案 1 :(得分:0)

你可以使用'insertBefore'属性: 设置

的ID
<script id='tag-id' src='app.module.js' type='text/javascript'></script>

然后:

$routeProvider
     .when('/',
     {
        templateUrl: 'app/components/home/home.html',
        access: { requiredLogin: true },            
        resolve: {
            lazy: ['$ocLazyLoad', function($ocLazyLoad) {
                return $ocLazyLoad.load([{
                    name: 'app',
                    insertBefore: '#tag-id',
                    files: ['dist/home.min.js']
                }]);
            }]
        },
        controller: 'homeController'
    })