isleofcode / ember-cordova-events

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Error on subscribe in ember 3.16.2

eliel-jr opened this issue · comments

i try

@subscribe('events.backbutton', () => {
    this.broadcast('backbutton');
}) onBackButton;

i get error throw

Cannot read property 'get' of undefined TypeError: Cannot read property 'get' of undefined
at computedFn (file:///android_asset/www/assets/vendor.js:146194:30)
at file:///android_asset/www/assets/sgc-online.js:40966:412
at Array.reduce ()
at _applyDecoratedDescriptor (file:///android_asset/www/assets/sgc-online.js:40966:369)
at Module.callback (file:///android_asset/www/assets/sgc-online.js:41206:22)
at Module.exports (file:///android_asset/www/assets/vendor.js:118:32)
at requireModule (file:///android_asset/www/assets/vendor.js:39:18)
at Class._extractDefaultExport (file:///android_asset/www/assets/vendor.js:164606:20)
at Class.resolveOther (file:///android_asset/www/assets/vendor.js:164266:32)
at Class.resolve (file:///android_asset/www/assets/vendor.js:164329:25)

if i use, not registry event.

onBackButton = subscribe('events.backbutton', () => {
    this.broadcast('backbutton');
});

But in "ember-cordova-events/utils/subscribe" throw send

'this' is undefined in subscribe function here:

 if (Ember.isBlank(this.get(service)) || Ember.isPresent(_listener)) {
    return;
 } // ensure teardown

i'm using method "on" of the service "ember-cordova/events" in class constructor with an alternative of "utils/subscribe"

export default class PlatformService extends Service {

  @service('ember-cordova/platform') cordovaPlatform;
  @service('ember-cordova/events') events;

...

constructor() {
   super(...arguments);
   const events = this.events;
   events.on("backbutton", this, 'onBackButton');    
}

...