Я очень новичок в угловой. Я пытаюсь вызвать метод Get Web API на кнопке. Теперь я хочу отобразить ответ в HTML. Когда я пытаюсь получить доступ к объекту модели, он говорит: < /p>
объект, возможно, «null '. Пожалуйста, смотрите функцию GetPatientByDate . Функция вызывается, а объект Res имеет данные.
import { HttpClient, HttpClientModule } from '@angular/common/http';
import { Component, inject } from '@angular/core';
import { RouterOutlet } from '@angular/router';
import { Observable } from 'rxjs';
import { PatientModel } from '../models/PatientModel.model';
import { AsyncPipe } from '@angular/common';
import { FormsModule } from '@angular/forms';
@Component({
selector: 'app-root',
standalone: true,
imports: [RouterOutlet, HttpClientModule, AsyncPipe, FormsModule],
templateUrl: './app.component.html',
styleUrl: './app.component.css'
})
export class AppComponent {
title = 'Patient Details';
http = inject(HttpClient);
patients$ = this.GetPatients();
//patient$ = this.GetPatientByDate();
inputValue: string = '';
patientDetail: PatientModel | null = null;
private GetPatients(): Observable
{
return this.http.get('https://localhost:7076/api/Appointments');
}
showAlert(): void {
if (this.inputValue) {
this.http.get('https://localhost:7076/api/Appointments ... inputValue).subscribe((res: PatientModel) => {
alert("Name:" + res.name + " && id:" + res.id + " && Appointment Date:" + res.appointmentDate);
});
} else {
alert("None");
}
}
GetPatientByDate(): void {
this.http.get('https://localhost:7076/api/Appointments ... inputValue).subscribe((res: PatientModel) => {
this.patientDetail = res;
});
}
}
< /code>
Модель, которую я имею, заключается в следующем: < /p>
export interface PatientModel {
id: string;
name: string;
appointmentDate: string;
reason: string;
}
app.component.html выглядит следующим образом. См. PatteryDetail.name .
{{title}}
table, th, td {
border: 1px solid black;
border-collapse: collapse;
}
th, td {
padding: 15px;
}
ID Name Appointment Date Reason
@if (patients$ | async; as patients) {
@if (patients.length > 0) {
@for (item of patients; track $index) {
{{ item.id }}
{{ item.name }}
{{ item.appointmentDate }}
{{ item.reason }}
}
}
@else {
Nothing found
}
}
Enter Date:
Show Alert
Value bound to component property: {{ inputValue }}
Details:{{ patientDetail.name }}
Подробнее здесь: https://stackoverflow.com/questions/796 ... sibly-null
Angular 17 показывает объект, возможно, «нулевой» ⇐ Html
Программисты Html
-
Anonymous
1751356749
Anonymous
Я очень новичок в угловой. Я пытаюсь вызвать метод Get Web API на кнопке. Теперь я хочу отобразить ответ в HTML. Когда я пытаюсь получить доступ к объекту модели, он говорит: < /p> [b]
объект, возможно, «null '. Пожалуйста, смотрите функцию GetPatientByDate . Функция вызывается, а объект Res имеет данные.
import { HttpClient, HttpClientModule } from '@angular/common/http';
import { Component, inject } from '@angular/core';
import { RouterOutlet } from '@angular/router';
import { Observable } from 'rxjs';
import { PatientModel } from '../models/PatientModel.model';
import { AsyncPipe } from '@angular/common';
import { FormsModule } from '@angular/forms';
@Component({
selector: 'app-root',
standalone: true,
imports: [RouterOutlet, HttpClientModule, AsyncPipe, FormsModule],
templateUrl: './app.component.html',
styleUrl: './app.component.css'
})
export class AppComponent {
title = 'Patient Details';
http = inject(HttpClient);
patients$ = this.GetPatients();
//patient$ = this.GetPatientByDate();
inputValue: string = '';
patientDetail: PatientModel | null = null;
private GetPatients(): Observable
{
return this.http.get('https://localhost:7076/api/Appointments');
}
showAlert(): void {
if (this.inputValue) {
this.http.get('https://localhost:7076/api/Appointments/date?date='+this.inputValue).subscribe((res: PatientModel) => {
alert("Name:" + res.name + " && id:" + res.id + " && Appointment Date:" + res.appointmentDate);
});
} else {
alert("None");
}
}
GetPatientByDate(): void {
this.http.get('https://localhost:7076/api/Appointments/date?date='+this.inputValue).subscribe((res: PatientModel) => {
this.patientDetail = res;
});
}
}
< /code>
Модель, которую я имею, заключается в следующем: < /p>
export interface PatientModel {
id: string;
name: string;
appointmentDate: string;
reason: string;
}
app.component.html выглядит следующим образом. См. PatteryDetail.name .
{{title}}
table, th, td {
border: 1px solid black;
border-collapse: collapse;
}
th, td {
padding: 15px;
}
ID[/b][b] Name[/b][b] Appointment Date[/b][b] Reason[/b]
@if (patients$ | async; as patients) {
@if (patients.length > 0) {
@for (item of patients; track $index) {
{{ item.id }}
{{ item.name }}
{{ item.appointmentDate }}
{{ item.reason }}
}
}
@else {
Nothing found
}
}
Enter Date:
Show Alert
Value bound to component property: {{ inputValue }}
Details:{{ patientDetail.name }}
Подробнее здесь: [url]https://stackoverflow.com/questions/79679342/angular-17-shows-object-is-possibly-null[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия