我有一个 javascript 变量:
var home.modal.data;
在内容屏幕中它包含:
home.modal.data.contentStatusId: number;
home.modal.data.contentTypeId: number;
在考试屏幕中它包含:
home.modal.data.examId: number;
home.modal.data.examStatusId: number;
我正在考虑这样的界面:
interface IModalData {
contentStatusId: any;
contentTypeId: any;
current: any;
examId: any;
examStatusId: any;
}
但我认为这是错误的做法,它给我带来了其他问题,因为我需要定义未使用的属性。
有没有其他方法可以声明每个屏幕的 home.modal.data 的组成?如果这个问题听起来令人困惑,我很抱歉,但我确实看到了一些方法
用 <>
做这样的事情括号语法,但现在我找不到任何示例。
我知道一种方法只是让我声明:
var home.modal.data: any
但是有没有更好的办法呢?
最佳答案
这对你有用吗</p>
首先定义如下接口(interface):
interface IExamData{
examId: number;
examStatusId: number;
}
interface IContentData{
contentStatusId: number;
contentTypeId: number
}
现在,无论何时您需要访问考试屏幕或内容屏幕的数据,具体取决于您可以按以下方式转换的上下文:
在检查屏幕中时:
var examData = <IExamData>home.modal.data;
examData.examId = 666;
examData.examStatusId = 777;
在内容屏幕中时:
var contentData = <IContentData>home.modal.data;
contentData.contenStatusId = 666;
contentData.contentTypeId = 777;
关于javascript - 有什么方法可以使用 Typescript 转换或更改对象的定义吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25937698/