当前位置:  开发笔记 > 编程语言 > 正文

在TypeScript中实例化一个类

如何解决《在TypeScript中实例化一个类》经验,为你挑选了1个好方法。

我有以下类结构

module ChartingServices {

export class ChartOptions {
    options: myOptions;
    title: string;
}

export interface myOptions {
    colors: string[];
    legend: myLegend;
    type: string;
}

export interface myLegend{
    enabled: boolean;
    labelFormatter: string;
}
}

我以通常的方式创建它的实例: -

var chartOptions = new ChartingServices.ChartOptions();

我可以设置属性chartOptions.title完全没有问题.

但是,我无法访问属性chartOptions.myOptions.type并获得有关无法读取未定义的属性"类型"的错误.

记住我有很多类,我是否需要创建每个类的实例来设置/读取属性.我该怎么做才能让代码工作?



1> mk...:

第一个问题是.myOptions不存在chartOptions- 你想要的options.您应该将所有类型都大写:MyOptions,MyLegend以便不要将它们与属性名称混淆.

第二个问题是虽然你实例化了一个新的ChartOptions:

var chartOptions = new ChartOptions();

......它的options属性实际上并没有设置为任何东西,因此未定义.您需要在实例化后立即使用语句设置它:

chartOptions.options = {type: "foo", ...other non-optional properties here}

或者在构造函数中ChartOptions,或者通过:

options: MyOptions = {type: "foo", ...}

推荐阅读
落单鸟人
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有