Aurelia Event Aggregator не работает должным образом. - PullRequest
0 голосов
/ 10 декабря 2018

Я хочу просто опубликовать и подписаться на простое событие с помощью агрегатора событий Aurelia.Он даже не публикуется при первой загрузке, мне нужно несколько раз перейти в class2 и через некоторое время он начинает публиковаться.Я не знаю, в чем здесь проблема.Спасибо всем за помощь

import { autoinject } from "aurelia-framework";
import { Router } from "aurelia-router";
import { EventAggregator } from "aurelia-event-aggregator";
import { TestEvent } from 'shared/TestEvent';

@autoinject
export class Class1{
  constructor(private router: Router, private ea: EventAggregator){
    this.ea = ea;
  }

  try(){
    this.ea.publish(new TestEvent);
  }
}

import { autoinject, observable } from "aurelia-framework";
import { Router } from "aurelia-router";
import { EventAggregator } from 'aurelia-event-aggregator';
import { TestEvent } from 'shared/TestEvent';

@autoinject
export class Class2{
  subscription: any;
  constructor(private router: Router, private ea: EventAggregator) {
  }

  attached() {
    this.subscription = this.ea.subscribe(TestEvent, ()=>{
      console.log("message")
    })
  }
  detached(){
    this.subscription.dispose();
  }

TestEvent.cs 
export class TestEvent{}
...