Vscode-ng-language-service: [Sudut] Pengenal 'wajib' tidak ditentukan. '__type' tidak mengandung anggota seperti itu

Dibuat pada 28 Agu 2017  ·  22Komentar  ·  Sumber: angular/vscode-ng-language-service

kesalahan properti dari AbstractControlDirective

Saya memiliki kode berikut:

<div>
    <label for="fullname">Passenger name:</label>
    <input
      type="text"
      name="fullname"
      required
      #fullname="ngModel"
      [ngModel]="detail?.fullname">

      <div class="error" *ngIf="fullname.errors?.required && fullname.dirty">
        Passenger name is required.
      </div>
  </div>

Dengan menggunakan properti di dalam properti errors dari referensi ngModel, ini menunjukkan kesalahan itu kepada saya.
Ini seharusnya tidak menjadi kesalahan karena ini adalah sintaks yang valid untuk formulir yang digerakkan oleh template.

Komentar yang paling membantu

ini akan menyelesaikan masalah:
cukup tambahkan casting ke bool menggunakan !! :


Nama penumpang wajib diisi.

Semua 22 komentar

Ditutup karena duplikat #149

Saya telah mencoba dengan pendekatan di atas tetapi gagal total.

Silakan lihat kode ini -

Bagian ini diperlukan
          <div *ngIf="username.errors.minlength">Minimum length should be {{username.errors.minlength.requiredLength}}</div>

Melempar kesalahan oleh kompiler TS -
[Sudut] Pengenal 'wajib' tidak ditentukan. '__type' tidak mengandung anggota seperti itu

saya mencoba hal yang sama tetapi tidak bisa keluar

Contoh
coba tambahkan "?" setelah "harga".
"

Harga diperlukan.
"

Nama Depan wajib diisi.
Nama Depan minimal 3 karakter.

Nama Depan tidak cocok dengan pola.


saya mencoba ini

<div *ngIf="firstName.errors.required">First Name is required. <div *ngIf="firstName.errors.minlength">First Name should be minimum 3 character.</div> <div *ngIf="firstName.errors.pattern">First Name doesn't Match pattern.</div> </div> i tried this

ini akan menyelesaikan masalah:
cukup tambahkan casting ke bool menggunakan !! :


Nama penumpang wajib diisi.

Contoh
coba tambahkan "?" setelah "harga".
"

Harga diperlukan."

Saya memecahkan masalah ini dengan menambahkan ? sebelum parameter dan bukan setelah kesalahan? Tetapi bisakah Anda menguraikannya dan mencoba menjelaskan bagaimana masalah ini diselesaikan hanya dengan memindahkan tanda tanya? @Danielapariona

ini akan menyelesaikan masalah:
cukup tambahkan casting ke bool menggunakan !! :


Nama penumpang wajib diisi.

Ini memecahkan masalah saya! Terima kasih!

Contoh
coba tambahkan "?" setelah "harga".
"

Harga diperlukan."

Itu berhasil untuk saya. Bisakah Anda memberi tahu saya mengapa harus menambahkan "?"

ini juga menyelesaikan masalah saya, tambahkan saja?

Tetapi baik casting sebagai boolean atau menggunakan ?(mungkin tidak) tidak menyelesaikan fakta bahwa intelliSense tidak dapat menemukan properti _errors_.

coba harga['kesalahan']['wajib']

@EeeEui ? (operator navigasi aman) akan mengambil variabel meskipun itu mungkin tidak valid dan menangani pengecualian secara internal (tidak valid = false dalam kasus ini).

? tidak berhasil untuk saya. !! hanya berfungsi dalam kasus saya.

? tidak berhasil f. !! hanya bekerja di sudut 7+.

<div class="alert alert-danger" *ngIf="username.touched && username.invalid" class="alert alert-danger">
            <div *ngIf="!!username.errors.required">Username is required</div>
            <div *ngIf="!!username.errors.minlength">Username Should be minimum {{ !!username.errors.minlength.requiredLength }} Charecters.</div>
          </div>

Sekarang sepertinya ada masalah dengan VSCode, karena kesalahan masih disorot di editor saya, tetapi Angular tidak mendeteksinya. Apa yang saya lakukan untuk menyelesaikan ini untuk VSCode adalah memeriksa kesalahan di sisi TypeScript, dengan fungsi.

HTML

html

TypeScript

ts

Ini bekerja untuk saya dan terlihat lebih bersih.
<div class="error" *ngIf="fullname.hasError('required')">
cara ini berguna bahkan jika kami menangani validasi khusus juga seperti fullname.hasError('invalidName')

Saya memiliki kesalahan yang sama. Melakukan *ngIf="formGroup?.get('fullName').hasError('required')" berhasil untuk saya

Sekarang sepertinya ada masalah dengan VSCode, karena kesalahan masih disorot di editor saya, tetapi Angular tidak mendeteksinya. Apa yang saya lakukan untuk menyelesaikan ini untuk VSCode adalah memeriksa kesalahan di sisi TypeScript, dengan fungsi.

HTML

html

TypeScript

ts

Kakak, ini terlalu merepotkan bagimu.

Lakukan *ngIf="yourForm.get('yourfield').hasError('required')"

Masalah ini telah dikunci secara otomatis karena tidak ada aktivitas.
Silakan ajukan masalah baru jika Anda mengalami masalah serupa atau terkait.

Baca lebih lanjut tentang kebijakan penguncian percakapan otomatis kami.

_Tindakan ini telah dilakukan secara otomatis oleh bot._

Apakah halaman ini membantu?
0 / 5 - 0 peringkat