Saya memiliki kode ini di dalam ng-repeat:
<a href="#" class="disabled" ng-click="doSomething(object)">Do something</a>
Bagaimana cara membuat kondisi bahwa tombol dinonaktifkan class="disabled"
?
Atau adakah cara melakukannya dalam Javascript sehingga akan terlihat seperti:
$('.do-something-button').click(function(){
if (!$(this).hasClass('disabled')) {
do something
}
});
sumber
||
seharusnya&&
, meskipun berfungsi di plunk Anda, jika isDisabled adalah metode pipa ganda terus memeriksa ekspresi yang valid. Ini tidak terjadi dengan&&
isDisabled()
mengembalikan salah, tidak ada yang akanaction()
dipanggil, dan pemeriksaan "untuk ekspresi yang valid" juga tidak dilanjutkan.Kita bisa menambahkan event ng-click secara kondisional tanpa menggunakan kelas yang dinonaktifkan.
HTML:
sumber
Saya menggunakan ekspresi && yang bekerja dengan sempurna untuk saya.
Sebagai contoh,
Jika
vm.slideOneValid
salah, bagian kedua dari ekspresi tidak diaktifkan. Saya tahu ini memasukkan logika ke DOM, tetapi ini cara cepat yang kotor untuk menonaktifkan ng dan ng-klik untuk menempatkannya dengan baik.Ingatlah untuk menambahkan ng-model ke elemen agar ng-nonaktif bekerja.
sumber
Pada dasarnya
ng-click
pertama-tama memeriksaisDisabled
dan berdasarkan nilainya itu akan memutuskan apakah fungsi harus dipanggil atau tidak.ATAU baca sebagai
sumber
Anda bisa mencoba menggunakan
ng-class
.Berikut adalah contoh sederhana saya:
http://plnkr.co/edit/wS3QkQ5dvHNdc6Lb8ZSF?p=preview
Status adalah atribut khusus dari objek, Anda dapat menamainya apa pun yang Anda inginkan.
The
disabled
dalamng-class
adalah nama kelas CSS, yangobject.status
harustrue
ataufalse
Anda dapat mengubah setiap status objek dalam fungsi
disableIt
.Di Kontroler Anda, Anda dapat melakukan ini:
sumber
Saya juga mengalami masalah ini dan saya baru tahu bahwa jika Anda menghapus "#", masalah tersebut akan hilang. Seperti ini :
sumber
href
sebaiknya tidak digunakan, gunakanng-href
saja.ng-href
hanya diperlukan ketika Anda perlu menghitung jalur secara dinamis. Jika jalannya tidak pernah berubah,href
tidak masalah.