1

我新包含了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 变量吗?

4

2 回答 2

0

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

您应该通过模块引用您的控制器angular.module('myapp').controller('homeController',...)

于 2017-06-07T21:54:47.847 回答
0

您可以使用“insertBefore”属性:为

<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'
    })
于 2018-05-18T00:46:27.860 回答