首页 > 其他分享 >解决typescript中无法使用对象作为获取对象属性的问题

解决typescript中无法使用对象作为获取对象属性的问题

时间:2022-08-24 16:58:12浏览次数:59  
标签:typescript string 对象 component da testmvvmtable ResourceVmRespData type 属性

错误现象

Error: src/app/routes/first/testmvvmtable/testmvvmtable.component.html:13:15 - error TS7053: Element implicitly has an 'any' type because expression of type 'string' can't be used to index type 'ResourceVmRespData'.
No index signature with a parameter of type 'string' was found on type 'ResourceVmRespData'.

13 {{da[column]}}
~~~~~~~~~~

src/app/routes/first/testmvvmtable/testmvvmtable.component.ts:6:16
6 templateUrl: './testmvvmtable.component.html'
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component TestmvvmtableComponent.

问题描述

在angular 13.3.9 + node 14.18.2 + alain 13 + npm 6.14.15 + yarn 1.22.19中

使用{{da[column]}}这样的语法获取对象属性时,出现了上面的问题;

<tr *ngFor="let da of basicTable.data">
<td *ngFor="let column of columnNameList;let i=index">
{{da[column]}}
</td>
</tr>

获取解决办法的博客

https://www.likecs.com/ask-1712144.html(解决办法五)

解决办法

为da对象添加一个父类(da为ResourceVmRespData)

interface IObjectKeys {
  [key: string]: string | number;
}

export interface ResourceVmRespData extends IObjectKeys{
  ip: string;
hosyIp: string;
adminIp: string;
hostSn: string;
env: string;
hostname: string;
groupName: string;
region: string;
idcName: string;
lifecycleName: string;
rackName: string;
state: string;
cpu: string;
disk: string;
memory: string;
mac: string;
}


标签:typescript,string,对象,component,da,testmvvmtable,ResourceVmRespData,type,属性
From: https://www.cnblogs.com/jokerWzz/p/16620719.html

相关文章

  • JAVA基础--面向对象--2022年8月23日
    第一节 面向对象概述、注意事项1、类和对象是什么?类:共同特征的描述(设计图)对象:是真实存在的具体案例2、如何设计类publicclass......
  • [Typescript] Toolbox: isError
    functionisError(err:any):errisError{returnerrinstanceofError;}try{somethingRisky()}catch(err:unknown){if(isError(err)){console......
  • 成员变量和局部变量的区别和面向对象的三大特征之封装性
    成员变量和局部变量的区别1、定义的位置不一样【重点】局部变量:在方法的内部成员变量:在方法的外部,直接鞋子类当中2、作用范围不一样【重点】局部变量:只有方法当中才可......
  • 【Java基础】面向对象的编程思想
    1.面向对象的编程思想做人的原则:不偷不抢不骗,这就是做人的思想编程的原则:....,这就是编程的思想2.面向过程和面向对象二者都是一种思想。(1)面向过程(POP)强调的是功能......
  • 今日内容 CSS选择器与CSS属性
    表单标签知识补充1.获取用户输入的标签两大重要的属性name属性类似于字典的键value属性类似于字典的值form表单在朝后端发送数据......
  • [Typescript] ts-expect-error
    Insomeways //@ts-expect-error canactasasuppressioncomment,similarto //@ts-ignore.Thedifferenceisthat //@ts-ignore willdonothingifthef......
  • Python类的私有化属性名字重整
    python类在__init__方法中初始化属性的时候,如果以(self.__name)的双下划线形式开头则代表这个属性为类的私有化属性,那么,我们在实例化之后想要通过该名称直接获取该属性是获......
  • JS基础:数组、函数、对象
    字符串要用英文双引号括起来。字符串与其他类型数据之间用加号+连接起来//--------------------------------------------------------JS中定义声明变量是用关键字var,J......
  • form表单属性补充
    form表单属性补充1.form表单功能表单用于向服务器传输数据,从而实现用户与Web服务器的交互表单能够包含input系列标签,比如文本字段、复选框、单选框、提交按钮等等。......
  • 前端知识之CSS(1)-css语法、css选择器(属性、伪类、伪元素、分组与嵌套)、css组合器
    目录前端基础之css1.关于css的介绍2.css语法3.三种编写CSS的方式3.1.style内部直接编写css代码3.2.link标签引入外部css文件3.3.标签内直接书写4.css选择器5.css组合器(重......