首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Typescript对象类型不允许访问属性

Typescript对象类型不允许访问属性
EN

Stack Overflow用户
提问于 2018-08-30 15:09:24
回答 2查看 355关注 0票数 0

我正在尝试创建一个对象类型的变量,并使用属性对其进行初始化。但是当我试图访问该属性时,它显示错误‘属性____不存在于类型对象上’。我已经搜索过了,发现有3种类型的object,Object和{}。我可以使用{}访问我的属性,但不能使用Object和object访问。

代码语言:javascript
复制
export class customDirective {
    configg:Object={
        qSelector:'.card-text'
    };
    @HostListener('mouseover') onmouseover(){
        var element =this.el.nativeElement.querySelector(this.configg.qSelector);
        this.ren.setElementStyle(element, 'display', 'block');
        this.isHovering = true;
    }
}
EN

回答 2

Stack Overflow用户

发布于 2018-08-30 15:17:59

使用 访问对象类型的属性

this.configg['qSelector']而不是this.configg.qSelector

代码语言:javascript
复制
export class customDirective {
    configg:Object={
        qSelector:'.card-text'
    };
    @HostListener('mouseover') onmouseover(){
        var element =this.el.nativeElement.querySelector(this.configg['qSelector']);
        this.ren.setElementStyle(element, 'display', 'block');
        this.isHovering = true;
    }
}
票数 1
EN

Stack Overflow用户

发布于 2018-08-30 15:12:55

Object是一个实际的类:https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Object。它定义了某些属性,而qSelector不在其中。

要定义一个可以设置任意属性而不会出现TypeScript错误的任意对象,请使用any类型(或者完全省略类型定义):

代码语言:javascript
复制
configg: any = {
    qSelector:'.card-text'
};
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52091114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档