为了账号安全,请及时绑定邮箱和手机立即绑定

[$controller:ctrlreg] 使用angularjs的路由及ocLazyLoad

[$controller:ctrlreg] 使用angularjs的路由及ocLazyLoad

江户川乱折腾 2019-03-13 14:15:40
根目录下定义了总控制文件app.js然后又在不同目录的子文件夹下定义了页面所用的controller文件,如product.js等等在app.js中声明的代码大致如下(节选)var sdWan = angular.module('sdWan', ['ngResource', 'ngRoute', 'oc.lazyLoad'])    .config(function ($resourceProvider) {        $resourceProvider.defaults.stripTrailingSlashes = false;    })    .config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) {        $routeProvider            .when('/', {                templateUrl: "pages/home.html",                controller: "homeCtrl",                resolve: {                    deps: ['$ocLazyLoad',                        function ($ocLazyLoad) {                            return $ocLazyLoad.load({                                files: [                                    'pages/home.js'                                ]                            });                        }                    ]                }            })            .when('/devicesManage/deviceList', {                templateUrl: "pages/devicesManage/deviceList/deviceList.html",                controller: "devCtrl",                resolve: {                    deps: ['$ocLazyLoad',                        function ($ocLazyLoad) {                            return $ocLazyLoad.load({                                files: [                                    'pages/devicesManage/deviceList/deviceList.js'                                ]                            });                        }                    ]                }            })            .otherwise({                redirectTo: '/'            })    }]);如代码所示,不同的页面不同的controller,并在相应页面上增加了ng-controller="名称"。并在相应页面引入的js中,定义了该controller,如以下代码(pages/home.js)所示:sdWan.controller('homeCtrl', function ($scope) {})  // 无法定义console.log(sdWan)  // 正常打印而且这些JS确实是被加载到文档中的,奈何在controller里的代码无法执行,并且会报[$controller:ctrlreg] The controller with the name 'homeCtrl' is not registered.在此文件下console.log(sdWan)是可以获取到sdWan的。但是定义controller就会出现问题。请问我该怎么解决?谢谢了。
查看完整描述

2 回答

?
30秒到达战场

TA贡献1828条经验 获得超6个赞

return $ocLazyLoad.load({


name:"你的APP" ,

files: [

    'pages/home.js'

]

});

// 在你的files前面加上你的主应用模块的名称


查看完整回答
反对 回复 2019-04-04
?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

同样遇到了该问题,不过是使用的ui-router实现的路由,不过替换了ui-router 版本的js文件就不会出错。


查看完整回答
反对 回复 2019-04-04
  • 2 回答
  • 0 关注
  • 949 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号