控制器在DOM中加载,但视图未加载,无法找到带有jade(pugjs)的controller-oclazyload

the*_*hra 7 javascript node.js angularjs oclazyload pug

我使用角度1.6作为我的项目和angular-ui-routing用于路由PugJs用于HTML模板.我试图在我的应用程序中实现Lazyload,但不知何故它不起作用可能是由于玉.代码:

var app = angular.module('myApp',['ui.router','oc.lazyLoad']);
app.config(['$ocLazyLoadProvider', function($ocLazyLoadProvider
 {
   $ocLazyLoadProvider.config({
   debug: true,
   modules: [{
   name: 'js',
   files: ['js/*']
 }]
});
}]);

.state("exampleState", {
        url: '/example',
        templateUrl: '/example',
        controller:'exampleCtrl',

        resolve: {
            deps: ['$ocLazyLoad', function($ocLazyLoad) {
                return $ocLazyLoad.load({
                    files: ['/js/exampleCtrl.js']
                })
            }]
        }
    })
Run Code Online (Sandbox Code Playgroud)

控制器:

app.controller('exampleCtrl',function($scope){
  console.log('controller loaded');
});
Run Code Online (Sandbox Code Playgroud)

在前端我使用节点将这些玉转换为HTML,因此当路由服务访问'templateUrl'时,它将被重定向到此代码:

app.get('/example', function(req, res) {
    res.render('/example');
});
Run Code Online (Sandbox Code Playgroud)

这会在视图中加载example.jade.我在控制台得到这个

[$ controller:ctrlreg]未注册名为"exampleCtrl"的控制器.

即使在DOM中加载控制器文件并且视图也没有渲染之后.欢迎任何有关问题的帮助.谢谢

the*_*hra 5

经过太多搜索并尝试找到解决方案后,问题是构造控制器时模块的全局变量.而不是使用

app.controller('exampleCtrl',function($scope){
  console.log('controller loaded');
});
Run Code Online (Sandbox Code Playgroud)

我用了 angular.module('myApp').controller(,,,);

参考:ocLazyLoad问题