Ошибка в привязке данных Angular 5

Я работаю над приложением, клиентская часть которого находится под углом 5, и я хочу изменить клиента, который отображается в виде данных и перенаправлен на другую страницу, содержащую информацию о клиенте, которую я хочу отредактировать, я импортирую все, что мне нужно чтобы импортировать, но все же данные не передаются в форму, это показывает мне ошибку в консоли, я остался один день, работая над этой проблемой, но не нашел решения. так вот поставщик code.html:

<p-dataView #dv headerText="Fournisseurs" [value]="fournisseurs" [paginator]="true" [rows]="20" paginatorPosition="both" >

      <ng-template let-fournisseur  pTemplate="listItem">
          <[/contents/242-introduction-au-dynamic-html-dhtml div]  style="padding: 1.5em;border-bottom: 1px solid #f3eded">
              <div class="ui-g-12 ui-md-3" style="text-align:center">
                 <img src="assets\images\users\{{fournisseur.photo}}.jpg" ></div>
                 <div class="ui-g-12 ui-md-8 fournisseur-details" >
                  <div class="ui-g">
                    <div class="ui-g-2 ui-sm-6"> code</div>
                  <div class="ui-g-10 ui-sm-6">{{fournisseur.nom}}</div>
                  <div class="ui-g-2 ui-sm-6"> Name</div>
                  <div class="ui-g-10 ui-sm-6">{{fournisseur.nom}}</div>



                  <div class="ui-g-2 ui-sm-6">Email</div>
                  <div class="ui-g-10 ui-sm-6">{{fournisseur.email}}</div>


                <div class="ui-g-2 ui-sm-6">Phone number</div>
                <div class="ui-g-10 ui-sm-6">0{{fournisseur.num}}</div>
              </div>
            </div>
            <div class="ui-g-12 ui-md-1 ">
              <button  type="button"  label="Update"  class="btn btn-success" (click)="updateF(fournisseur)">Edit</button>


          </div>

          </div>
      </ng-template>
  </p-dataView>

и код supplier.components.ts для метода updateF:

updateF(fournisseur){ this.fournService.setter(fournisseur); console.log(fournisseur.cin); this.router.navigate(['/*/updatesupplier']); }

и для form.html, который я хочу преобразовать, дату, которую я хочу изменить:

<form  (ngSubmit)="processForm()" >
                            <div class="row">
                                    <div class="col-md-5">
                                        <div class="form-group">
                                            <label for="cin">Code</label>
                                            <input type="number" id="cin" name="cin" class="form-control border-input" disabled  [(ngModel)]="fournisseur.cin">
                                        </div>
                                    </div>

                                </div>

                        <div class="row">
                            <div class="col-md-12">
                                <div class="form-group">
                                    <label for="nom">Full Name</label>
                                    <input type="text" id="nom" name="nom" class="form-control border-input"   [(ngModel)]="fournisseur.nom">
                                </div>
                            </div>

                        </div>
                        <div class="row">
                          <div class="col-md-6">
                              <div class="form-group">
                                  <label for="email">Email</label>
                                  <input type="text" id="email" name="email" class="form-control border-input"   [(ngModel)]="fournisseur.email">
                              </div>
                          </div>
                          <div class="col-md-6">
                              <div class="form-group">
                                  <label for="num">Phone number</label>
                                  <input type="number" id="num" name="num" class="form-control border-input"   [(ngModel)]="fournisseur.num">
                              </div>
                          </div>
                      </div>
                        <div class="text-center">
                            <button type="submit" class="btn btn-info btn-fill btn-wd">Update Profile</button>

и угловой код для этой формы:

    ngOnInit() {
    this.fournisseur=this.fournService.getter();
  }

  //modification
  processForm(){
    this.fournService.updateFourni(this.fournisseur).subscribe((fournisseur)=>{
      console.log(fournisseur);
      this.router.navigate(['/*/listsuppliers'])
    },(error)=>{
      console.log(error);
    });
  }
 setter(fournisseur:Fournisseur){
    this.fournisseur=fournisseur;
  }
  getter(){
    return this.fournisseur;
  }

поэтому я сделал все, что должен, но я получил эту ошибку в консоли:

ng: ///UpdatesupplierModule/UpdatesupplierComponent.ngfactory.js: 17 ОШИБКА TypeError: Невозможно прочитать свойство 'cin' из undefined в Object.eval [as updateDirectives] (ng:///UpdatesupplierModule/UpdatesupplierCoryponj.jp.jp). Object.debugUpdateDirectives [as updateDirectives] (webpack-internal:///./node_modules/@angular/core/esm5/core.js:14871) в checkAndUpdateView (webpack-internal:///./node_modules/@angular/core) /esm5/core.js:14018) в callViewAction (webpack-internal:///./node_modules/@angular/core/esm5/core.js:14369) в execComponentViewsAction (webpack-internal:///./node_modules/@angular/core/esm5/core.js:14301) в checkAndUpdateView (webpack-internal:///./node_modules/@angular/core/esm5/core.js:14024) в callViewAction (webpack-internal: ///./node_modules/@angular/core/esm5/core.js:14369) в execEmbeddedViewsAction (webpack-internal:///./node_modules/@angular/core/esm5/core.js:14327) в checkAndUpdateView (webpack-internal:///./node_modules/@angular/core/esm5/core.js:14019) в callViewAction (webpack-internal:///./node_modules/@angular/core/esm5/core.js:14369)

однако я объявил все свойства поставщика и импортировал FormModules для доступа к ngModule. пожалуйста, если кто-то уже работал с angular, скажите мне, какую ошибку я совершил. заранее спасибо

0 ответов

Другие вопросы по тегам