Как отобразить данные ionic в ionViewWillEnter, используя пост-метод? - PullRequest
0 голосов
/ 18 июня 2019

Я не знаю, как отобразить данные от API до ионных приложений.Я не знаю, как использовать локальное хранилище или navParams или и то и другое при отображении данных

Я пытался использовать метод post в ionViewWillEnter для вызова данных в ionic.

ниже - успехAPI для вызова всех данных. .api

    public function viewProfileClinic(Request $request)
        {
            $id =$request->id;
            $clinicID = $request->clinic_id;

            $count = RegisterClinic::where('clinic_id',$clinicID)->count();

            if($count == 1)
            {
                $clinicData = RegisterClinic::where('clinic_id',$clinicID)->first();        
                $callEmailTelno = User::where('id',$clinicData->uid)->first();

                    $datamsg = response()->json([
                        'callemailtelno' => 'Email:'.$callEmailTelno->email.'Telno:'.$callEmailTelno->telno,
                        'clinicdata' => $clinicData 

                    ]);
                    return $datamsg->content();

            }
            else{

                $datamsg = response()->json([
                    'error' => array("text"=>"No clinic data.")
                ]);
                return $datamsg->content();
            }
        }

Как отобразить данные из этого API в ionic?Вот что я попробовал в файле __ .ts__.

cprofile.ts

    ionViewWillEnter(){

        this.authService.postData(this.id,'viewProfileClinic').then((result) => {
          this.responsedata = result;
          console.log(result);
          if(this.responsedata.callemailtelno && this.responsedata.clinicdata)
          { 

              localStorage.setItem('callemailtelno', JSON.stringify(this.responsedata.callemailtelno));
              console.log(this.responsedata.callemailtelno);  
              const data = this.navParams.get('data');


                this.usersClinic.email = data.email;
                this.usersClinic.telno = data.telno;
                this.clinic_regno = data.clinic_regno;
                this.clinic_name = data.clinic_name;
                this.site = data.site;
                this.clinic_address = data.clinic_address;
                this.zip = data.zip;
                this.city = data.city;
                this.state = data.state;

          }
          else
          {
              this.presentError(this.responsedata.error.text);
              console.log(this.responsedata.error);
          }
        },(err) =>{

        });
  }

.cprofile.html

<ion-list>
<p>Clinic Profile</p>
 <form #f="ngForm" (ngSubmit)="onSubmit(f)" class="list-form">
        <ion-item>
        <ion-label stacked>Clinic Email</ion-label>
        <ion-input type="text" name="usersClinic.email" [(ngModel)]="usersClinic.email">{{usersClinic.email}}</ion-input>
        </ion-item>

        <ion-item>
        <ion-label stacked>Telephone no.</ion-label>
        <ion-input type="text" name="usersClinic.telno" [(ngModel)]="usersClinic.telno">{{usersClinic.telno}}</ion-input>
        </ion-item>

        <button ion-button color="light" class="transparent-button" [disabled]="!f.valid" text-center round>
          Edit
        </button>
      </form>
      <ion-item>
        <p>Clinic Registration no</p>
        {{clinic_regno}}
      </ion-item>
      <ion-item>
          <p>Clinic Name</p>
          {{clinic_name}}
      </ion-item> 
      <ion-item>
          <p>Clinic Site</p>
          {{site}}
      </ion-item>
      <ion-item>
          <!-- <p>Clinic Address</p>  -->
          <ion-label primary>Clinic Address</ion-label>
           <!-- <ion-textarea>{{clinic_address}},{{zip}},{{city}},{{state}}.</ion-textarea> -->
           <ion-textarea rows="6" disabled [value]="clinic_address" ></ion-textarea>
      </ion-item>


    </ion-list>

Все, что мне нужно, - это возможность отображения данных в ионном режиме.Из-за всех данных можно отобразить как я тестирую прогон API в почтальоне.

1 Ответ

1 голос
/ 18 июня 2019

пожалуйста, попробуйте этот код для отображения данных

ionViewWillEnter(){
        this.authService.postData(this.id,'viewProfileClinic').then((result) => {
          this.responsedata = result;
          console.log(result);
              this.usersClinic.email = this.responsedata.email;
                this.usersClinic.telno = this.responsedata.telno;
                this.clinic_regno = this.responsedata.clinic_regno;
                this.clinic_name = this.responsedata.clinic_name;
                this.site = this.responsedata.site;
                this.clinic_address = this.responsedata.clinic_address;
                this.zip = this.responsedata.zip;
                this.city = this.responsedata.city;
                this.state = this.responsedata.state;
        },(err) =>{

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