首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >监听接收到的聊天事件

监听接收到的聊天事件
EN

Stack Overflow用户
提问于 2017-03-21 07:42:22
回答 1查看 415关注 0票数 0

我对Firebase和angular2相当陌生。因此,我试图通过教程制作一个Firebase集成的angular2聊天应用程序。我跟踪本教程制作了聊天应用程序。问题是,除了简单的聊天之外,当有人写或收到新的聊天时,我想做一个祝酒词。但我似乎找不到可以听那个事件的代码。

知道我在哪能找到它吗?

角分量看起来像这样

代码语言:javascript
复制
import { Component } from '@angular/core';
import { AngularFire, AuthProviders, AuthMethods, FirebaseListObservable } from 'angularfire2';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})

export class AppComponent {
  items: FirebaseListObservable<any>;
  name: any;
  msgVal: string = '';

    constructor(public af: AngularFire) {

        this.items = af.database.list('/messages', {
          query: {
            limitToLast: 5
          }
        });

        this.af.auth.subscribe(auth => { 
          if(auth) {
            this.name = auth;
          }
        });
    }

login() {
    this.af.auth.login({
      provider: AuthProviders.Facebook,
      method: AuthMethods.Popup,
    });
  }

chatSend(theirMessage: string) {
      this.items.push({ message: theirMessage, name: this.name.facebook.displayName});
       this.msgVal = '';
  }
}

这是html标记

代码语言:javascript
复制
<div class="row columns">
  <button (click)="login()" *ngIf="!name">Login With Facebook</button>

  <input type="text" id="message" *ngIf="name" placeholder="Chat here..." (keyup.enter)="chatSend($event.target.value)" [(ngModel)]="msgVal" />

    <div class="chat-container" *ngFor="let item of items | async">
      <a href="#">{{item.name}}</a>

      <p>{{item.message}}</p>
    </div>
</div>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-22 00:20:25

reddit的一位绅士帮了我,让我检查一下FirebaseObservables,并监听对它的更改。

代码语言:javascript
复制
initializeApp(firebaseConfig);
database().ref().on('value', function(snapshot){

  var x = snapshot.val()
  console.log("This prints whenever there is a new message");
});

当聊天线程中有任何新消息时,主模块中的这个片段就会触发。

希望它能帮到别人

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42920974

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档