我是打字稿的新手,在处理我在课程
之后创建的问题时 PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT_WATCH) {
if (powerManager.isInteractive()) {
startActivity(intent);
}
}
else{
//noinspection deprecation
if (powerManager.isScreenOn()) {
startActivity(intent);
}
}
我希望它能够正常工作,但在调试时,所有数组函数都可以访问,但export class ModuleInfoContainer extends Array<ModuleInfo> {
constructor() {
super();
}
search(id: number) {
let k: ModuleInfo;
this.every(a => {
k = a.search(id);
return !k;
});
return k;
}
}
的成员函数search
无法访问。
然而,经过一些谷歌搜索我得到了一个例子,并最终得到了这个代码
ModuleInfoContainer
它按预期工作。
第一段代码出了什么问题?
编辑:export class ModuleInfoContainer extends Array<ModuleInfo> {
constructor() {
super();
}
search = function (id: number) {
let k: ModuleInfo;
this.every(a => {
k = a.search(id);
return !k;
});
return k;
};
}
班级
ModuleInfo
这就是我试图称之为我的搜索功能:
export class ModuleInfo {
Id: number;
Name: string;
DisplayName: string;
ChildModules: ModuleInfoContainer;
DependsOn: ModuleInfo[];
parent: ModuleInfo;
search(id: number): ModuleInfo {
if (this.Id === id) {
return this;
} else if (this.ChildModules && this.ChildModules.length) {
return this.ChildModules.search(id);
}
return undefined;
}
}
typescript编译成功,但运行时出错,说let k = new ModuleInfoContainer();
k.search(1);
(错误可能与chrome给出的错误完全相同,但含义相同)。
但是第二个代码工作正常。
答案 0 :(得分:0)
经过一番搜索,我找到了这些链接