代码之家  ›  专栏  ›  技术社区  ›  Shriniwas b

多次在不同页面订阅ionic单一事件

  •  0
  • Shriniwas b  · 技术社区  · 7 年前

    是否可以在一个页面中发布单个事件,并在不同页面上多次订阅。这样地。。

    handleClick(){
      this.events1.publish('my-message', '👋 Hello from page1!');
    }
    
    
    export class Page1Page {
      constructor(public events1: Events) {
         events1.subscribe('my-message', (data) =>{
           console.log(data); // 👋 Hello from page1!
         });
      }
    }
    
    
    export class Page2Page {
      constructor(public events1: Events) {
         events1.subscribe('my-message', (data) =>{
           console.log(data); // 👋 Hello from page2!
         });
      }
    }
    

    这是一种好的做法吗?还是这个代码出错了?

    1 回复  |  直到 7 年前
        1
  •  1
  •   BRass    7 年前

    好啊这是我对这件事的看法。我看到了3块拼图:

    1) 您需要了解有关网络连接的信息。我会从网络开始 cordova-plugin-network-information 由包装的插件 Ionic Native .

    2) 您应该创建一个与此网络插件配合使用的角度服务/提供者,以了解网络变化。然后,它可以公开这些数据供页面使用(并根据需要触发事件)。还要注意的是,应用程序可能只有在应用程序启动时才会在此处更新,因此您可能需要获取上的当前状态 ready (启动)和 resume (从后台打开)。请参见 Ionic Platform 为了那些钩子。

    3) 然后,您的页面可以利用#2中的服务/提供商来显示当前的联机状态(如果您的UI需要提醒更改,而不仅仅是显示当前状态,则可能需要监视更改)。