ionic2开发(三)3.事件Events使用

来源:互联网 发布:微信照片制作软件 编辑:程序博客网 时间:2024/06/07 03:00

今天写下事件的使用,ionic2中的事件用起来还是很方便的,可以解决问题,具体看应用场景。

新人还请多指教!大笑

1.简介

事件注册  在任意一界面注册事件之后可在任意界面根据事件名称进行调用。
Events 有三个方法 分别是:

this.events.publish ()         //注册Events事件

this.events.subscribe()        //调用Events事件

this.events.unsubscribe()      //注销Events事件

2.官方文档调用方式

import { Events } from 'ionic-angular';constructor(public events: Events) {}// first page (publish an event when a user is created)function createUser(user) {    console.log('User created!')    events.publish('user:created', user, Date.now());}// second page (listen for the user created event)events.subscribe('user:created', (user, time) => {    // user and time are the same arguments passed in `events.publish(user, time)`    console.log('Welcome', user, 'at', time);});

3.示例

写个简单的小测试:B页面注册一个事件,A页面调用该事件,代码如下

页面A代码:

export class A {    constructor(private nav: NavController, private events: Events) {}    ionViewDidLoad() {        this.listenEvents();    }    listenEvents() {        this.events.subscribe('eventTest', (name) = >{            console.log('hello!' + name);        });    }}

页面B代码:

export class B {    constructor(private nav: NavController, private events: Events) {}    ionViewDidLoad() {        this.events.publish('eventTest', 'Tester');    }}

4.注意事项

Events不使用时尽量进行销毁,特别是放在页面事件中的,可能会反复注册事件,如果一定要保留监听可以考虑将注册方法写在constructor()中(constructor()只有在页面初始化的时候执行一次)。


原创粉丝点击