如何在用户单击系统通知时在 Cordova+Ember 中加载自定义位置



我有一个使用Ember框架在Cordova中制作的应用程序。

当我收到系统通知时,我想根据通知发送给我的 id 打开一个自定义位置。通知从 Ember 路由/控制器系统调用方法。

如果方法不在 Ember 托管代码中,如何调用 ember 路由器以根据通知 ID 加载自定义位置?

问候。

你可以检查Ember.Instrumentation模块,它可以用于这样的场景。

http://emberjs.com/api/classes/Ember.Instrumentation.html

要从 Ember 外部发送事件,请执行以下操作:

Ember.Instrumentation.instrument("eventGroup.notificationOccured", {id: 'id_which_you_got_from_notification'});

要在 Ember 代码中订阅事件,请执行以下操作:

Ember.Instrumentation.subscribe("eventGroup.notificationOccured", {
      before: function(id, timestamp, payload) {
        // Here you can do routing
      },
      after: function() {}
});

subscribe可以在 Ember App 代码库中,您可以在其中根据 id transitionTo路由。

您可以将订阅代码片段放在 IndexRoute 的setupController中或任何控制器方法中,这些方法会在通知到达时执行。

如果您想将代码放入控制器中,则可以通过controller.transitionToRoute(routeName);进行重定向

相关内容

  • 没有找到相关文章

最新更新