我正在尝试使用TypeScript在Angular.js中使用$ocLazyLoad
。但是我一直在Unknown provider error。我将它包含在我的主要应用程序中:
/// <reference path="../../.tmp/typings/tsd.d.ts" />
/// <reference path="index.route.ts" />
/// <reference path="index.config.ts" />
/// <reference path="index.run.ts" />
module myApp {
'use strict';
angular.module('myApp', [
'ui.router',
'oc.lazyLoad'])
.config(RouterConfig)
.config(Config)
.run(RunBlock);
}
错误来自于我尝试将其包含在RouterConfig
:
module myApp {
'use strict';
export class RouterConfig {
static $inject = ['$stateProvider', '$urlRouterProvider', '$ocLazyLoad'];
constructor($stateProvider: ng.ui.IStateProvider, $urlRouterProvider: ng.ui.IUrlRouterProvider, $ocLazyLoad: oc.ILazyLoad) {
$urlRouterProvider.otherwise('/dashboard');
$stateProvider
.state('dashboard', {
url: '/dashboard',
templateUrl: 'app/modules/core/dashboard/dashboard.html'
});
}
}
}
真正奇怪的是,我可以毫无问题地加入$ocLazyLoadProvider
。这是来自Yeoman using gulp, typescript, and ui-router的非常简单的设置。
答案 0 :(得分:1)
.config(RouterConfig)
出错。
传递到config
的函数未使用new
运算符调用,因此不使用typescript class
这里。