我在基类/不同文件中创建类似于ENUM的内容:
ExamStatusId = {
All: {
elem: this.examStatusSelectId, // << refers to a string
text: 'Exam Status: All',
val: 0
},
Current: {
elem: this.examStatusSelectId, // << refers to a string
text: 'Exam Status: Current',
val: 1
}
}
一旦定义了这个,我就可以在另一个类/文件中调用这样的函数:
page.isSelectedValue(page.ExamStatusId.All);
这是另一个类/文件中的函数:
isSelectedValue (data) {
var title = this.getTitle(data.id);
var valueString = data.val.toString();
it('Check for ' + data.text, function () {
expect(data.elem.getAttribute("value")).toBe(valueString);
});
}
这段代码有效,但是有人可以告诉我这是否是更好的方式,使我可以isSelectedValue
使用Typescript将所需的数据传递给函数吗?我已经使用Typescript编写代码,并想充分利用它提供的所有功能。
另外,如何确保传递给该函数的内容具有elem,text和val的所有参数?
看起来您想要类似以下代码的内容。至少在我看来,您似乎没有使用枚举,而是使用了诸如对象常量之类的东西?这可以通过额外的界面来完成。不错的是,您还可以在isSelectedValue函数中进行类型检查!
interface IElement {
elem: string;
text: string;
val: number
}
var ExamStatusId = {
All: <IElement>{
elem: this.examStatusSelectId, // << refers to a string
text: 'Exam Status: All',
val: 0
},
Current: <IElement>{
elem: this.examStatusSelectId, // << refers to a string
text: 'Exam Status: Current',
val: 1
}
}
function isSelectedValue (data: IElement) {
}
isSelectedValue(ExamStatusId.All);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句