Невозможно назначить сложные данные в переменную массива в Angular 6 - PullRequest
0 голосов
/ 27 августа 2018

У меня есть метод для извлечения данных из HTTP-запроса, он работает нормально и возвращает сложный список данных.

enter image description here

Но меня беспокоит, когда я присваиваю этот возвращенный список переменной, он не присваивается. Так что я даже не могу зациклить эту переменную, потому что она undefined в файле .ts.

enter image description here

Это мой компонент

import { Component, OnInit } from '@angular/core';
import { ChatUserVM } from '../shared/models';
import { UserService } from '../shared/service/user.service';
@Component({
  selector: 'app-chat-footer',
  templateUrl: './chat-footer.component.html',
  styleUrls: ['./chat-footer.component.css'],
})
export class ChatFooterComponent implements OnInit { 
  friendList: ChatUserVM[] = []; 

  constructor(private userService: UserService) {  
  }

  ngOnInit() {
    this.getAllFriendsFromDatabase();
  }

  getAllFriendsFromDatabase() {
    this.userService.getUsers().subscribe(
      data => {
        this.friendList = data;
        console.log('DB usersss ---> ' + this.friendList);
      }
    );
  }
}

Это мой HTTP-сервис

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import {ChatUserVM} from "../models";

@Injectable()

export class UserService {

  constructor(private http: HttpClient) { }

  getUsers() {      
    return this.http.get<ChatUserVM[]>('https://localhost:44346/api/chat/GetAllUsers');
  }
  
}

Ответы [ 2 ]

0 голосов
/ 29 августа 2018

Проблема была решена ..: D Это сработало после того, как я изменился следующим образом.

 getAllFriendsFromDatabase() {
    var self = this;
    this.userService.getUsers().subscribe(
      data => {
        self._moderatorList = data as ChatUserVM[];
        console.log('DB usersss ---> ' + self._moderatorList);
      }
    );
  }
0 голосов
/ 28 августа 2018

Это ошибка отладчика. Это путается с этим . Если бы вы отлаживали сгенерированный javascript, вы получили бы правильные значения, но в вашем случае отладчик разрешает this в окно, которое, скорее всего, не будет иметь поле или свойства friendList, приводящего к отображению " не определенно». И это - вот почему я никогда не отлаживаю машинописный код, а сгенерированный JavaScript. Не говорите, что не следует, просто будьте в курсе этого предостережения.

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