gpt4 book ai didi

javascript - Ionic 2 应用程序冲突 "Public"与 "Public Static"

转载 作者:行者123 更新时间:2023-11-28 03:59:17 26 4
gpt4 key购买 nike

我是这方面的业余爱好者,尝试编写一个应用程序,但发现我的代码中有冲突的部分。我没有干净的代码,只是让事情正常工作,我尝试了如下:

    constructor(platform: Platform, public nativeStorage: NativeStorage) {
platform.ready().then(() => {
this.nativeStorage.getItem('NoTaleDB').then(function (json) {
if (json) {
GlobalVariables.novelList = JSON.parse(json);
}
});
});
}

public static save() {
this.nativeStorage.setItem('NoTaleDB', JSON.stringify(GlobalVariables.novelList)).then(() => {}, () => {});
}

并收到此错误:

Property 'nativeStorage' does not exist on type 'typeof StorageService'

当我将函数修改为:

public save() {
this.nativeStorage.setItem('NoTaleDB', JSON.stringify(GlobalVariables.novelList)).then(() => {}, () => {});
}

它找到了nativeStorage,但我从Pages和服务本身得到了这个错误:

Property 'save' does not exist on type 'typeof StorageService'.

我已经尝试完成这个应用程序很长时间了,但最终只是尝试修复错误。请提供一个简单的解决方案,新手可以理解。谢谢。 <3

最佳答案

假设您希望函数 body 来实现此功能:

public static save() {
this.nativeStorage.setItem('NoTaleDB', JSON.stringify(GlobalVariables.novelList)).then(() => {}, () => {})
}

this 对于静态成员可用,因为静态成员在上存在,而不是在实例上存在( this 引用的事物)。

固定代码

必须是:

public save() {
this.nativeStorage.setItem('NoTaleDB', JSON.stringify(GlobalVariables.novelList)).then(() => {}, () => {})
}

现在您遇到错误:

Property 'save' does not exist on type 'typeof StorageService'.

您正在调用StorageService.save。这是错误的。您应该在实例上调用 save,例如

new StoargeService(pass in the stuff it needs).save(); // Works now

更多

有关 TypeScript 类的一些文档:https://basarat.gitbooks.io/typescript/content/docs/classes.html

关于javascript - Ionic 2 应用程序冲突 "Public"与 "Public Static",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47274034/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com