Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在TypeScript中从另一个类调用函数_Typescript_Ionic Framework_Ionic3 - Fatal编程技术网

如何在TypeScript中从另一个类调用函数

如何在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”上不存在属性

我想从home.ts调用refreshMe()方法。但我得到的信息是,它不是在类型的

以下是我尝试过的:

=>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();
}