AngularとTypeScriptを使用して新しいMVC 5プロジェクトを設定しています。コントローラとサービスをインスタンス化する際に問題が発生しています。私はHTMLでNG-コントローラを含むとき、私は次のエラーを取得する:ここでAngular "angle.js:14110 Error:[ng:areq]引数 'fn'は関数ではなく、未定義です"コントローラインスタンス化の例外
angular.js:14110 Error: [ng:areq] Argument 'fn' is not a function, got undefined
は私の設定です:
app.ts:
module mqApp {
'use strict';
if (typeof (angular) != "undefined") {
var modules;
modules = [];
angular.module("mqApp", modules)
.controller("MasterController", MasterController)
.service("UserService", UserService);
}
}
userService.ts:
module mqApp {
'use strict';
export class UserService {
public static $inject = [
'$scope',
'$http',
'$window'
];
private scope: angular.IScope;
private httpSvc: angular.IHttpService;
private window: angular.IWindowService;
constructor($scope: angular.IScope, $http: angular.IHttpService, $window) {
this.scope = $scope;
this.httpSvc = $http;
this.window = $window;
alert(2);
}
logOff() {
this.httpSvc.get('/Account/LogOff');
this.window.location.href = '/';
}
}
}
masterController.ts:
module mqApp {
'use strict';
export class MasterController {
public static $inject = [
'$scope',
'UserService'
];
private userService: UserService;
private scope: angular.IScope;
contructor($scope: angular.IScope, userService: UserService) {
alert(1);
this.userService = userService;
this.scope = $scope;
}
}
}