打字稿泛型-扩展类

杰马克

例如,我有以下课程:

module app.components.base {
    export class BaseController<S extends IAppScope, A> {
        public data:string;

        constructor(public $scope: S, public service: A, public $state: ng.ui.IStateService, public $ionicHistory) {
            console.log('Base Controller Loaded!');
            console.log($scope);
            $scope.vm = this;
        }
    }
}

然后我有这个单独的类:

module app.components.properties {

    export class PropertiesController extends base.BaseController<IPropertiesScope, app.services.PropertyService> {

    }
}

因此,在我看来,这表示“属性控制器扩展了基本控制器。因此,属性控制器应该具有this.$scope,并且this.$scope应该是类型,IPropertiesScope因为泛型类型S继承了IPropertiesScope接口”。

但是,$scope在我的基类的构造函数中未定义。为什么未定义此值?

巴萨拉特

$ scope在我的基类的构造函数中未定义。为什么未定义此值?

这是因为angular的默认依赖项注入的工作方式。即使您知道构造函数自变量并且TypeScript知道构造函数自变量,但angular所能看到的全部都在代码中

function PropertiesController() {
   _super.apply(this, arguments);
}

您可以看到TypeScript可以很好地传递参数,但是angular可以看到PropertiesController()并且不依赖注入任何东西

修复:具有显式构造函数

或者static $inject,在班级https://www.youtube.com/watch?v=WdtVn_8K17E拥有明确的成员

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何为在打字稿中扩展泛型类的类添加构造函数?

来自分类Dev

反应扩展组件和打字稿泛型和setState

来自分类Dev

如何在打字稿中使用泛型扩展类?

来自分类Dev

打字稿类型、泛型和抽象类

来自分类Dev

数组和泛型类扩展了另一个类:可以在打字稿中使用吗?

来自分类Dev

打字稿泛型:T突然扩展了X想要X扩展T

来自分类Dev

扩展类的打字稿事件

来自分类Dev

打字稿参考扩展类

来自分类Dev

使用泛型打字稿将道具连接到React类组件中的状态

来自分类Dev

打字稿:泛型接口、接口函数和类类型参数

来自分类Dev

打字稿如何将属性声明为其类的泛型参数 T 的键列表?

来自分类Dev

扩展集合泛型类的泛型类

来自分类Dev

Typescript泛型扩展类和接口

来自分类Dev

JaxB编组通配符泛型扩展类

来自分类Dev

用泛型T扩展类

来自分类Dev

在Kotlin中扩展泛型类

来自分类Dev

使用泛型和扩展Abstract类

来自分类Dev

Java:使用泛型扩展类

来自分类Dev

CDI bean从泛型类扩展

来自分类Dev

泛型扩展某个类的问题

来自分类Dev

在java中扩展多个类的泛型

来自分类Dev

如何将泛型类扩展为泛型

来自分类Dev

Java 泛型:如何扩展另一个泛型类的泛型类

来自分类Dev

扩展泛型类的类的错误覆盖方法

来自分类常见问题

打字稿:如何扩展两个类?

来自分类Dev

扩展和实现一类打字稿

来自分类Dev

从打字稿中的扩展类返回通用值

来自分类Dev

打字稿:将动态数据传递给扩展类

来自分类Dev

覆盖/扩展打字稿类表达式