我有一个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
但是有更好的方法吗?
答案 0 :(得分:3)
这对你有用吗</ p>
首先定义以下接口:
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;
答案 1 :(得分:0)
&lt;&gt;括号语法与泛型有直接关系。
上的此文档