Apa yang salah dengan kode sudut saya? Saya mendapatkan:
Cannot read property 'remove' of undefined at BrowserDomAdapter.removeClass ...
HTML
<ol class="breadcrumb">
<li *ngClass="{active: step==='step1'}" (click)="step='step1; '">Step1</li>
<li *ngClass="{active: step==='step2'}" (click)="step='step2'">Step2</li>
<li *ngClass="{active: step==='step3'}" (click)="step='step3'">Step3</li>
</ol>
Jawaban:
Versi sudut 2, ..., 9 menyediakan beberapa cara untuk menambahkan kelas secara kondisional:
ketik satu
ketik dua
dan beberapa opsi:
tipe tiga
ketik empat
sumber
[ngClass]="js expression returning html class string"
sehingga sama dalam hal ini[ngClass]=...
bukannya*ngClass
.*
hanya untuk sintaks steno untuk arahan struktural di mana Anda dapat misalnya digunakanalih-alih versi yang lebih lama
Lihat juga https://angular.io/docs/ts/latest/api/common/index/NgClass-directive.html
Lihat juga https://angular.io/docs/ts/latest/guide/template-syntax.html
sumber
*
hanya memungkinkan synax disederhanakan daripada bentuk kanonis.Solusi lain akan digunakan
[class.active]
.Contoh:
sumber
Itulah struktur normal untuk
ngClass
adalah:Jadi dalam kasus Anda, gunakan saja seperti ini ...
sumber
dengan contoh-contoh berikut, Anda dapat menggunakan 'JIKA LAIN'
sumber
Anda dapat menggunakan ngClass untuk menerapkan nama kelas baik kondisional dan bukan di Angular
Sebagai contoh
Bersyarat
Beberapa kondisi
Ekspresi metode
Metode ini akan berada di dalam komponen Anda
sumber
Anda harus menggunakan sesuatu (
[ngClass]
bukan*ngClass
) seperti itu:sumber
Di
Angular 7.X
Kelas CSS diperbarui sebagai berikut, tergantung pada jenis evaluasi ekspresi:
string - kelas CSS yang tercantum dalam string (dibatasi ruang) ditambahkan
Array - kelas CSS yang dideklarasikan sebagai elemen Array ditambahkan
Objek - kunci adalah kelas CSS yang ditambahkan ketika ekspresi yang diberikan dalam nilai mengevaluasi ke nilai yang sebenarnya, jika tidak mereka akan dihapus.
sumber
untuk memperluas jawaban MostafaMashayekhi untuk opsi dua> Anda juga dapat membuat beberapa opsi dengan ','
Juga * ngIf dapat digunakan dalam beberapa situasi ini biasanya dikombinasikan dengan * ngFor
sumber
Sementara saya membuat formulir reaktif, saya harus menetapkan 2 jenis kelas pada tombol. Beginilah cara saya melakukannya:
Ketika form valid, tombol memiliki btn dan btn-class (dari bootstrap), jika tidak hanya btn class.
sumber
Selain itu, Anda dapat menambahkan dengan fungsi metode:
Dalam HTML
Dalam component.ts
sumber
Biarkan, YourCondition adalah kondisi Anda atau properti boolean, maka lakukan seperti ini
sumber
ngClass
sintaksis:Anda bisa menggunakan seperti ini:
sumber
Inilah yang bekerja untuk saya:
sumber
Anda dapat menggunakan [ngClass] atau [class.classname], keduanya akan bekerja sama.
[class.my-class]="step==='step1'"
ATAU
[ngClass]="{'my-class': step=='step1'}"
Keduanya akan bekerja sama!
sumber
Tidak relevan dengan
[ngClass]
arahan tetapi saya juga mendapatkan kesalahan yang sama sepertidan saya dianggap kesalahan dalam
[ngClass]
kondisi saya tetapi ternyata properti yang saya coba akses dalam kondisi[ngClass]
tidak diinisialisasi.Seperti saya punya ini di file naskah saya
dan di saya
[ngClass]
saya gunakandan saya mendapatkan kesalahan
dan solusinya adalah memperbaiki properti saya
Semoga ini bisa membantu seseorang yang mencoba mencocokkan kondisi sebuah properti di
[ngClass]
sumber
Kode adalah contoh yang baik dari ngClass jika kondisi lain.
sumber
Coba Seperti ini ..
Tentukan kelas Anda dengan ''
sumber