我有一个返回angular.IPromise<any>
onActivate():IPromise<any>
{
return Q.when(true);
}
但是当它运行时它会说
未定义Q
虽然,当我查看Q.d.ts
文件时,会声明模块并导出函数when
。
如何在打字稿类中使用Q服务?
全班都是这样的:
/// <reference path="../../typings/q/q.d.ts" />
module app.common.modals
{
export class RenameModalCtrl extends app.common.controllers.ControllerBase
{
public viewModel: RenameModalModel;
private $modalInstance: ng.ui.bootstrap.IModalServiceInstance;
static $inject = ['common', '$translate', '$modalInstance', 'viewModel'];
constructor(common: any, $translate: angular.translate.ITranslateService, $modalInstance: ng.ui.bootstrap.IModalServiceInstance, viewModel: RenameModalModel)
{
super(common, $translate);
this.viewModel = viewModel;
this.$modalInstance = $modalInstance;
}
onActivate(): ng.IPromise<any>
{
return Q.when(true);
}
}
angular.module('app').controller('renameModalCtrl', RenameModalCtrl);
}
由于
答案 0 :(得分:3)
你必须在$ inject中添加$ q作为你的一个注射剂。然后将其作为类型Q:ng.IQService
添加到构造函数中编辑:认为你的意思是角度q。我想你只需要导入模块:
import * as Q from 'q';