Javascript AngularJS、ocLazyLoad和ui路由器:如何在不集中的情况下按需加载&x27;州';在主app.js类上
我对ui路由器和ocLazyLoad非常陌生,这个问题可能很容易解决,但我在这里写这篇文章是因为我没有在博客上搜索的运气。我的应用程序在ocLazyLoad上运行良好 这是我在主app.js类上的配置:Javascript AngularJS、ocLazyLoad和ui路由器:如何在不集中的情况下按需加载&x27;州';在主app.js类上,javascript,angularjs,node.js,angular-ui-router,oclazyload,Javascript,Angularjs,Node.js,Angular Ui Router,Oclazyload,我对ui路由器和ocLazyLoad非常陌生,这个问题可能很容易解决,但我在这里写这篇文章是因为我没有在博客上搜索的运气。我的应用程序在ocLazyLoad上运行良好 这是我在主app.js类上的配置: angular.module('me', [ 'ui.router', 'oc.lazyLoad', 'me.partials.footer', 'me.partials.header' ]) .config(['$stateProvider', '$urlRouterProvider', f
angular.module('me', [
'ui.router',
'oc.lazyLoad',
'me.partials.footer',
'me.partials.header'
])
.config(['$stateProvider', '$urlRouterProvider', function ($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/ini')
$stateProvider
.state('ini', { // Login
url: '/ini',
templateUrl: 'views/ini/ini.html'
})
.state('signin', {
url: '/signin',
templateUrl: 'views/signin/signin.html'
})
.state('home', {
url: '/home',
templateUrl: 'views/home/home.html',
resolve: {
home: function($ocLazyLoad) {
return $ocLazyLoad.load(
{
name: "views.home",
files: [
"views/home/home.js",
]
}
);
}
}
})
.state('home.profile', {
url: '/profile',
templateUrl: 'views/profile/profile.html'
})
.state('home.board', {
url: '/board',
templateUrl: 'views/board/board.html'
});
}]);
现在我希望停止在同一个类上放置更多的状态,否则我的app.js将在几个月内变得巨大。所以我把一些状态从这里移到了我的另一个模块,叫做“主模块”:
home.js
angular
.module('views.home', [{
name: "views.home.controller",
files: ["views/home/home-controller.js"]
}
])
.config(['$stateProvider', '$urlRouterProvider',
function ($stateProvider, $urlRouterProvider) {
$stateProvider
.state('home', {
url: '/home',
templateUrl: 'views/home/home.html',
resolve: {
home: function($ocLazyLoad) {
return $ocLazyLoad.load(
{
name: "views.home",
files: [
"views/home/home.js",
]
}
);
}
}
})
.state('home.profile', {
url: '/profile',
templateUrl: 'views/profile/profile.html'
})
.state('home.board', {
url: '/board',
templateUrl: 'views/board/board.html'
});
}]);
但是我遇到了这个错误:无法从状态“ini”解析“home.board”
,这完全有道理,因为home.js文件以前没有加载过。我如何解决这个问题
在我唯一的主app.js类上写入我的所有应用程序状态这是唯一的方法吗 这是状态错误。没有决心。 我更喜欢从我的控制器使用ocLazyLoad。在那里我们有更多的控制权
.controller("MyCtrl", function($ocLazyLoad) {
$ocLazyLoad.load('views/home/home.js');
});
绝对与这个问题无关。你是否在Chrome开发者工具中看到
GET
请求home.js
?没有@MuliYulzary:(这是完全有效的,因为在出现错误之前,我的应用程序只会识别“app.js”上自己的“状态”,正如你所看到的