Angulaire 2 - Exécuter du code lors de la fermeture de la fenêtre

Je suis en train de travailler sur une application de chat en utilisant angulaire 2.

Comment puis-je envoyer de l'arrivée de chat de commande à l'arrière-plan lorsque l'utilisateur ferme la fenêtre?

Mon composant a une méthode qui appelle le service principal pour mettre fin à la conversation de la manière suivante

JS:

 endChat() {
        this.chatService.endChat(this.chatSessionInfo).subscribe(
            result => this.OnGetMessages(result),
            error => this.OnChatEndError(error)
        );
    }

Comment puis-je exécuter ce code lors de la fermeture de la fenêtre? Comment puis-je détecter la fermeture de fenêtre de l'événement?

J'ai essayé avec ngOnDestroy mais pour une raison quelconque, le code n'est pas exécuté.

Dans mon Composant.ts j'ai.

import { Component, OnInit, AfterViewChecked, ElementRef, ViewChild,OnDestroy} from '@angular/core';

export class ChatComponent implements OnInit, AfterViewChecked,OnDestroy  {

et enfin

 ngOnDestroy() { 
    this.endChat();
 }

Merci!

  • Avez-vous mis en œuvre le backend avec la prise.io?
  • Non, je suis en utilisant WebApi 2
  • Je ne sais pas comment vous avez branché votre chat dans le fond, mais je vous suggère d'utiliser SignalR quelque chose comme un chat. Lors de la déconnexion, il y aura a tiré un événement sur le serveur. Jetez un oeil ici pour un exemple: github.com/FabianGosebrink/...
  • utilisation de jquery pour vérifier cette réponse stackoverflow.com/questions/1631959/...
  • Je suis à l'aide d'une douille.io. Avez-vous un socket.io solution spécifique pour cela?
  • Non, j'irais avec Günter la réponse! MAIS si vous avez juste besoin d'exécuter du code sur votre arrière-plan, puis il y a le 'disconnect' événement.

InformationsquelleAutor federom | 2016-08-17