我有一个我想在提供商中调用函数(F1)的情况,然后从该函数(F1)我想在页面中调用另一个函数。
这是Page1.ts
的代码
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { Storage } from '@ionic/storage';
import {Utils} from '../../providers/utils';
@Component({
selector: 'page-page1',
templateUrl: 'page1.html'
})
export class Page1 {
//storage: any;
constructor(public navCtrl: NavController, public storage: Storage, public utils: Utils) {
}
test()
{
this.utils.testOut(this.ret);
}
ret()
{
console.log(this);
}
}
和utils.ts是提供商:
import { Injectable } from '@angular/core';
import { Http , Headers} from '@angular/http';
/*
Generated class for the HttpHelper provider.
See https://angular.io/docs/ts/latest/guide/dependency-injection.html
for more info on providers and Angular 2 DI.
*/
@Injectable()
export class Utils {
constructor(private http: Http, private applicationConstants: ApplicationConstants) {
//console.log('Hello utils Provider');
//this.http = http;
}
testOut(success:Function)
{
success();
}
}
但是当它再次进入page1.ts时,它将在console.log"未定义"中打印这意味着Page1.ts的所有变量和函数都不可用。
任何人可以帮忙吗?
如果从utils.ts中调用函数,则应首先导入Page1.ts。