2016-07-17 6 views
0

У меня есть простая форма приложения, которая на отправке переходит на другую страницу. Я хочу показать сообщение об успешном нажатии на кнопку отправки.Angular2 Уведомления chaining with router navigate

Приведенный ниже код работает, но после отправки он бесцельно перенаправляет на другую страницу, на которой отображаются уведомления только в течение секунды. Я не могу добавить notificaiton к целевой странице, так как он имеет несколько точек входа.

onSubmit(form) { 
this._service.success('Test', 'Test'); // this is from angular2-notificaitons library 
this.apartmentService.postRequests(this.data).then(_=>this.router.navigate(['Requests'])); //navigates to requests page which has multiple entry points 
this.data = {}; 
} 

Любая идея, как достичь этого?

+0

Я не знаю библиотеку уведомлений. Как это можно получить, когда уведомление закрыто или когда оно скрыто автоматически? Что такое 'this._service.success ('Test', 'Test'),' return? –

+0

Я использую эту документацию из библиотеки https://github.com/flauc/angular2-notifications/blob/master/docs/toastNotifications.md – user2180794

+0

Можете ли вы проверить, есть ли this._service.getEmitter(). Subscribe (event => console.log ('event', event)) 'испускает любое событие, которое может быть использовано для получения уведомления об удалении уведомления? –

ответ

3

Где вы регистрировали поставщика услуг NotificationsService. Я думаю, проблема в том, что вы не регистрируете ее в корне приложения.

Попробуйте переместить службу уведомленийService и SimpleNotificationsComponent на ваш app.component.

@Component({ 
     selector: "app", 
     directives: [SimpleNotificationsComponent], 
     providers: [NotificationsService, PushNotificationsService], 
     template: ` 
      <simple-notifications [options]="options" (onCreate)="onCreate($event)" (onDestroy)="onDestroy($event)"> 
      </simple-notifications> 
     ` 
    }) 
+0

Я зарегистрировал его в компоненте, где я буду использовать уведомление. Он отлично работает, просто цепочка перенаправляет его на другой компонент, который не имеет этой службы. – user2180794

+0

В этом проблема. Вы должны зарегистрировать его в компоненте верхнего уровня, чтобы компонент, который вы просматриваете, узнал об уведомлении. –

+0

Спасибо большое .. что сработало – user2180794

Смежные вопросы