控制器已加载到 DOM 中,但视图未加载,无法找到控制器 - oclazyload with james(pugjs)

2024-03-15

我在我的项目中使用 Angular 1.6,并使用 Angular-ui-routing 与 PugJs 进行 HTML 模板的路由。 我正在尝试在我的应用程序中实现 Lazyload,但不知何故它不起作用可能是由于 jade。 代码 :

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']
                })
            }]
        }
    })

控制器 :

app.controller('exampleCtrl',function($scope){
  console.log('controller loaded');
});

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

app.get('/example', function(req, res) {
    res.render('/example');
});

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

[$controller:ctrlreg] 名为“exampleCtrl”的控制器未注册。

即使在 DOM 中加载控制器文件之后,视图也不会呈现。欢迎有关问题的任何帮助。谢谢


经过太多的搜索和尝试,我找到了解决方案,问题是构建控制器时模块的全局变量。而不是使用

app.controller('exampleCtrl',function($scope){
  console.log('controller loaded');
});

I used angular.module('myApp').controller(,,,);

参考 :ocLazyLoad 问题 https://github.com/ocombe/ocLazyLoad/issues/159

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

控制器已加载到 DOM 中,但视图未加载,无法找到控制器 - oclazyload with james(pugjs) 的相关文章

随机推荐