Данные не отображаются Angular8 (Metroni c Theme) - PullRequest
0 голосов
/ 08 января 2020

Когда я использую это в моих html {{user.firstName}}, данные отображаются, но с ошибками, но когда я использую это в моих html {{user?.firstName}}, данные не отображаются, но без ошибок, но когда я нажимаю кнопку, данные показывают. Здравствуйте, ребята, я использую metroni c и angular8

У вас есть альтернативные парни о том, как отображать данные?

import { Component, OnInit, enableProdMode } from "@angular/core";
import { DealerapiService } from "../services/dealerapi.service";
import { DomSanitizer } from "@angular/platform-browser";
import { FormGroup, FormBuilder } from "@angular/forms";
import { ActivatedRoute } from "@angular/router";

@Component({
    selector: "kt-home-profile",
    templateUrl: "./home-profile.component.html",
    styleUrls: ["./home-profile.component.scss"]
})
export class HomeProfileComponent implements OnInit {
    constructor(
        private dealerApiService: DealerapiService,
        private domSanitizer: DomSanitizer,
        private formBuilder: FormBuilder,
        private route: ActivatedRoute
    ) {}
    forms: any;
    profileForm: FormGroup;
    imageurl: any;
    username: any;
    user: any;
    ngOnInit() {
        this.route.params.subscribe(params => {
            // get the username out of the route params
            this.username = params["username"];

            const username = params["username"];
            this.dealerApiService
                .getUserbyUsernameProfile(username)
                .subscribe((user: any) => {
                    this.user = user.data;
                    console.log(user);
                });
        });

    }

}

Ответы [ 3 ]

1 голос
/ 08 января 2020

Вы должны назначить имя пользователя в самом файле компонента. Попробуйте это:

firstName: string;
// other variables

// ..other code..

this.dealerApiService
  .getUserbyUsernameProfile(username)
     .subscribe((user: any) => {
        this.user = user.data;
        // added code
        this.firstname = user['data']['firstName'];
        console.log(user);
      });
   });

Теперь попробуйте получить доступ к firstName из вашего шаблона.

1 голос
/ 13 января 2020

Это как раз моя проблема .... Тема Metroni c не отображает полученные данные из API в шаблон. Она отображает полученные данные после отправки события. Таким образом, вы можете привязать функцию щелчка к любой уже обработанной кнопке.

Document.getElementById ('readyRenderedBTN '). Click ();

... Или просто измените ChangeDetectionStrategy.OnPu sh
К ChangeDetectionStrategy.Default

Внутри app.component.ts

1 голос
/ 08 января 2020

Попробуйте, как показано ниже,

export class HomeProfileComponent implements OnInit {
  ...
  ...
  user: any; // comment this line
  user = <User>{}; // Add this line

  ...
  ...
}

// Add the below model after your component class
export class User {
  firstName: string;
  lastName: string;
  // remaining properties
}

Теперь в вашем html вы можете получить доступ к свойству пользователя без? (безопасный оператор)

{{user.firstName}}
...