如何在TypeScript中从另一个类调用函数
我想从home.ts调用refreshMe()方法。但我得到的信息是,它不是在类型的 以下是我尝试过的:如何在TypeScript中从另一个类调用函数,typescript,ionic-framework,ionic3,Typescript,Ionic Framework,Ionic3,我想从home.ts调用refreshMe()方法。但我得到的信息是,它不是在类型的 以下是我尝试过的: =>settings.ts import { HomePage } from '../home/home' [……] =>home.ts refreshMe() { this.navCtrl.setRoot(this.navCtrl.getActive().component); } 下面再次显示准确的错误消息: 类型“typeof HomePage”上不存在属性
=>settings.ts
import { HomePage } from '../home/home'
[……]
=>home.ts
refreshMe() {
this.navCtrl.setRoot(this.navCtrl.getActive().component);
}
下面再次显示准确的错误消息: 类型“typeof HomePage”上不存在属性“refreshMe”
已更新 试试这样的 使用以下命令创建具有ionic cli的提供程序:
ionic g provider providerName
现在,将refreshMe()函数放在提供程序中,这样您就可以导入提供程序并在任何需要的地方使用refreshMe函数
import { NewProvider } from '../home/home'
constructor(public myProvider: NewProvider ){
myProvider.refreshMe();
}
我想它起作用了。但现在我无法加载设置页面。我唯一得到的是这个无用的错误:“[INFO:CONSOLE(1436)]“error”,来源:file:///android_asset/www/build/main.js (1436)'终止它并使用ionic serveUncaught(承诺中)再次运行它:错误:主页没有提供程序!injectionError@noProviderError@ReflectiveInjector_u2;prototype.\u throwOrNull@ReflectiveInjector_2;prototype.\u getByKeyDefault@ReflectiveInjector_2;prototype.\u getByKey@ReflectiveInjector_2;prototype。get@in您的app.module.ts在“提供者:”下添加“主页:”这里是我的提供者:提供者:[状态栏,SplashScreen,主页,文件,{provide:ErrorHandler,useClass:IonicErrorHandler}]…我仍然得到错误:Uncaught(承诺中):错误:没有NavController的提供程序!injectionError@noProviderError@ReflectiveInjector_u2;prototype.\u throwOrNull@ReflectiveInjector_2;prototype_getByKeyDefault@it可能不是很枯燥,但如果该方法只是一行,则应将其作为方法添加到要调用它的组件中。在另一个页面中插入页面可能会导致一些错误问题稍后…我明白了,我该怎么做?我是爱奥尼亚的新手,你能给我一些示例代码吗?如果对你来说可以的话,请你删除这个问题,因为它是的副本吗?或者它有什么不同吗?谢谢:)Sry我不允许删除这个。但是的,我想它是一样的。
import { NewProvider } from '../home/home'
constructor(public myProvider: NewProvider ){
myProvider.refreshMe();
}