Я очень новичок в угловой. Я пытаюсь вызвать метод Get Web API на кнопке. Теперь я хочу отобразить ответ в HTML. Когда я пытаюсь получить доступ к объекту модели, он говорит, что объект, возможно, «нулевой». Пожалуйста, помогите. < /P> Вот мое приложение. Пожалуйста, смотрите функцию GetPatientByDate. Функция вызывается, и у объекта Res есть данные < /p>
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
}
< /code>
app.component.html выглядит следующим образом, см. Пациент adetail.name < /p>
{{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
1750867149
Anonymous
Я очень новичок в угловой. Я пытаюсь вызвать метод Get Web API на кнопке. Теперь я хочу отобразить ответ в HTML. Когда я пытаюсь получить доступ к объекту модели, он говорит, что объект, возможно, «нулевой». Пожалуйста, помогите. < /P> [b] Вот мое приложение. Пожалуйста, смотрите функцию GetPatientByDate. Функция вызывается, и у объекта Res есть данные < /p>
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
}
< /code>
app.component.html выглядит следующим образом, см. Пациент adetail.name < /p>
{{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антехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия