首先,您不需要在依赖注入中注入chart.js,这应该是您的module:
var angularApp = angular.module('myApp', [ 'oc.lazyLoad' ]);
现在,您想要从不同的控制器访问一些库(就说路线吧),正如你所说,你不使用$stateProvider
这意味着你不使用ui-router https://github.com/angular-ui/ui-router (这是一个处理路由和 URL 的第三方库).
这是我的建议(只是一个简单的解决方案):
angularApp.config(function ($routeProvider, $locationProvider) {
$routeProvider.when('/home', {
templateUrl: 'views/home.html',
controller: 'HomeController',
resolve: {
store: function ($ocLazyLoad) {
return $ocLazyLoad.load(
{
serie: true,
name: "chart.js",
files: [
"./static/chart.min.js",
"./static/chart-angular.min.js",
]
}
);
}
}
});
$routeProvider.when('/needs-translate', {
templateUrl: 'views/needs-translate.html',
controller: 'translateController',
resolve: {
store: function ($ocLazyLoad) {
return $ocLazyLoad.load(
{
serie: true,
name: "pascalprecht.translate",
files: [
"./static/translate.js"
]
}
);
}
}
});
$routeProvider.otherwise({
redirectTo: '/home'
});
// use the HTML5 History API
$locationProvider.hashPrefix = '!';
$locationProvider.html5Mode(true);
});
顺便说一句,如果您正在使用ui.router
, this Github问题 https://github.com/ocombe/ocLazyLoad/issues/353#issuecomment-252423761对你有用