Angular 2(Ionic 2)在显示页面时调用页面中的函数

时间:2016-03-19 06:24:36

标签: angularjs ionic-framework angular ecmascript-6 ionic2

当加载 angular 2(ionic 2) 应用中的主页时,我想要通话服务/功能。怎么做到这一点?

第一次加载应用时(主页已加载)我可以在 constructor 中写这个,但是当用户开始使用该应用时, {{ 1}} 新页面进入 push nav controller 他们回到 pop home page 不会再被调用。

我被困在这里。

我想知道实现此功能的最佳方法是什么?

我是 constructor angular2 ionic2 的新手(也是'我有 framework angular1 的经验,请帮助我。

非常感谢。

更新

我尝试过的示例代码,但没有用。

ionic1

3 个答案:

答案 0 :(得分:8)

onPageWillEnter() 为我工作。

import {Page, NavController, Platform, Storage, SqlStorage} from 'ionic-angular';


@Page({
  templateUrl: 'build/pages/page1/page1.html'
})
export class Page1 {
    static get parameters(){
        return [[NavController],[Platform]];
    }
    onPageWillEnter() {
        console.log("Showing the first page!");
    }
    constructor(nav, platform){
        this.nav = nav;
        this.platform =  platform;
    }
}

Ionic lifecycle hook

答案 1 :(得分:6)

IONIC 2 RC1 更新

ionViewWillEnter() {
    console.log("this function will be called every time you enter the view");
}

答案 2 :(得分:1)

您可以利用lifeCycle-hooks,特别是ngOnInit()ngAfterViewInit()

Here是一个简单的教程。

例如:

// Annotation section
@Component({
  selector: 'street-map',
  template: '<map-window></map-window><map-controls></map-controls>',
})
// Component controller
class StreetMap {
  ngOnInit() {  //here you can call the function wanted
    // Properties are resolved and things like
    // this.mapWindow and this.mapControls
    // had a chance to resolve from the
    // two child components <map-window> and <map-controls>
  }
}

更新:适用于纯Angular2个应用,针对IonicFramework特定解决方案,请参阅

@ DeepakChandranP的答案。