Как реализовать функциональность Like / Dislike в Angular Firebase на посту - PullRequest
0 голосов
/ 27 октября 2018

Пожалуйста, помогите мне решить эту проблему.

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

Проверьте приведенное ниже изображение и код.

enter image description here

this.userRef = this.db.list('xxxxxxxxx/feedmaster/');
      this.userRef.snapshotChanges(['child_changed'])
        .subscribe(actions => { 

          for(var i = (actions.length -1) ; i >= 0 ; i-- ){

             let feedkey = actions[i].key;
             let feedData =  actions[i].payload.val();
             let likebyself;
             let totallikekeys;
             if(actions[i].payload.val().likedby != undefined){

                totallikekeys = Object.keys(actions[i].payload.val().likedby);
                console.log( totallikekeys.includes(this.auth.userid));

                if( totallikekeys.includes(this.auth.userid)){

                  likebyself  = "text-success";

                }else{

                   likebyself = "text-muted";

                }

                console.log(likebyself);

            }else{

               likebyself = "text-muted";
               totallikekeys = [];
               console.log(likebyself);

             }
             self.timeLineFeed.length = 0;

               let textfeed = feedData.text;
               let posted_by = feedData.posted_by;
               let createdat = feedData.createdat;
               let updatedat = feedData.updatedat;  
               let posttype = feedData.content_type;

                this.db.object<User>(`xxxxxxxxxxx/users/${feedData.posted_by}/meta`).valueChanges()
               .subscribe( actions => {

                       //  this.feedwiseComment.length = 0;
                       console.log(likebyself);
                      // console.log(commentData);
                      if(actions.name != undefined && actions.name !="")
                      {
                      self.timeLineFeed.push({ feedkey:feedkey ,name:actions.name , picturUrl:actions.pictureURL, posttype:posttype, 
                        text:textfeed,posted_by:posted_by ,createdat : createdat , updatedat: updatedat , totallikes: totallikekeys.length , islikebyself: likebyself })

                      }

               } )
          }  
        })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...