0
我有一個用JavaScript編寫的AngularJS服務,我想將其轉換爲TypeScript。 Javascript版本立即返回一個函數。爲什麼它會這樣做,我將如何在TypeScript中實現這一點?AngularJS Service Types in Typescript
的JavaScript
Geisha.service("loginModal", ["$uibModal", "$rootScope", function ($uibModal: angular.ui.bootstrap.IModalService, $rootScope: ICustomRootScopeService) {
function assignCurrentUser(user: User) {
$rootScope.currentUser = user;
return user;
}
return function() {
var instance = $uibModal.open({
templateUrl: "/Angular/Security/Views/loginTemplate.html",
controller: "loginModalCtrl"
});
return instance.result.then(assignCurrentUser);
}}]);
打字稿
在打字稿,我只爲走得更遠,創建構造函數和方法之一,但不知道如何實現即時回報功能
module G.Services {
export class LoginModal {
$rootScope: ICustomRootScopeService;
$uibModal: angular.ui.bootstrap.IModalService;
static $inject = ["$rootScope", "$uibModal"];
constructor($rootScope: ICustomRootScopeService, $uibModal: angular.ui.bootstrap.IModalService) {
this.$rootScope = $rootScope;
this.$uibModal = $uibModal;
}
assignCurrentUser(user: User): User {
this.$rootScope.currentUser = user;
return user;
}
}
Geisha.service("loginModal", LoginModal);}