在使用 oclazyload 和 ui-router 在 app.config 中定义状态时,我正在尝试将新模块“testlazy”加载到应用程序中
我需要连接 require.js 以使用现有应用程序加载新模块吗?我认为 oclazyload 实际上会引用添加到应用程序中的新模块。如果我走错了路,请纠正我
这是我的新模块,位于
/js/testlazy
module.js
testlazyController.js
我有一个 module.js 文件和 testlazyController.js。
在我的 index.html
<head>
<script type="text/javascript" src="../../dist/ocLazyLoad.js"> </script>
<script type="text/javascript" src="js/app.js"></script>
</head>
<body class="container">
<h1 class="page-header">$ocLazyLoad</h1>
<div ui-view="lazyLoadView"></div>
</body>
我的 app.js
var aModule = angular.module('dApp', ['ui.router','oc.lazyLoad']);
aModule.config(['$locationProvider', '$stateProvider', '$urlRouterProvider', '$httpProvider', '$ocLazyLoadProvider', function ($locationProvider, $stateProvider, $urlRouterProvider, $httpProvider, $ocLazyLoadProvider) {
$stateProvider
.state('testlazyload', {
parent: 'authenticated',
url: '^/testlazyload',
templateUrl: 'html/templates/header.html',
controller: "testlazyController",
resolve: { // Any property in resolve should return a promise and is executed before the view is loaded
loadMyCtrl: ['$ocLazyLoad', function($ocLazyLoad) {
// you can lazy load files for an existing module
return $ocLazyLoad.load('js/testlazy/testlazyController.js');
}]
}
});
$urlRouterProvider.otherwise('/login');
}]);
我的 testlazyController.js
angular.module('testlazy').controller('testlazyController', ['$scope', '$q', 'ModalService', '$state', '$filter', '$ocLazyLoad',
function ($scope, $q, ModalService, $state, $filter, $ocLazyLoad) {
console.log("lazyloading complete");
}]);
我的 module.js
angular.module('testlazy', []);
我在控制台中不断收到错误:$injector:nomod Module Unavailable 错误。
一旦我使用脚本标签引用 index.html 中的 js 文件,它就可以工作,但是我不再使用延迟加载正确吗?