angular6点击返回时 执行某个方法怎么做

jane
  • 42

clipboard.png

clipboard.png
在我点击BACK的时候回到首页
可是首页需要获取最新的系统数据
我想执行一个方法 图一图二在不同的模块,
我返回后 1的页面并没有刷新
应该怎么做呢

补充一下代码:
clipboard.png

clipboard.png
点击ADD的图片跳转到应用中心模块 然后 进行增加应用的操作

希望的效果是
返回后 首页刷新 从新获取应用 达到统一的效果

回复
阅读 1.3k
2 个回答

你是想,点击返回后,首页自动刷新获取最新的数据对吧。
没看到你组件的C层代码,就按我的想像说一下吧。
这样试一试,在当前组件中,先注入首页组件(假设为HomeComponent)在跳转之前,你直接在当前组件的goFunc()方法中调用HomeComponentOnInit()方法即可.

export class CollegeComponent implements OnInit {
    // 在这直接注入另一个组件
    constructor(private homeComponent: HomeComponent) {
    }

    ngOnInit() {
        // 控制台打印
        console.log(this.homeComponent);
    }

    goFunc() {
        // something
        // 在这调用homeCompnent.OnInit()方法。
        this.homeComponent.OnInit();
    }
}


然后再跳转回去的时候,数据就更新了。

如果是异步的话:

goFunc() {
    // something
    xxx.subscribe(() => {
        this.homeComponent.OnInit();
    });
}

ionic的生命周期有一个ionViewDidEnter,每次界面Active的时候这个函数都会执行一次,特别适合返回至某页面重新获取数据的需求

你知道吗?

宣传栏