Ramai pembangun menghadapi kesukaran dalam menetapkan sifat nilai apabila menggunakan ng-options arahan dalam AngularJS. Berikut ialah penjelasan komprehensif untuk menyelesaikan isu ini.
Arahan ng-options membolehkan anda mengisi secara dinamik
ng-options="{expression_for_value} as {expression_for_label} for {expression_for_items_in_source}
Dalam contoh yang disediakan, dengan "resultOptions" ialah tatasusunan objek yang mengandungi kedua-dua sifat "nilai" dan "teks", anda akan menggunakan sintaks ini:
ng-options="obj.value as obj.text for obj in resultOptions"
Ini akan menghasilkan pilihan dengan "obj.value" sebagai nilai yang sepadan dan "obj.text" sebagai label yang dipaparkan.
Kemas kini: Versi AngularJS yang lebih baharu membolehkan anda mentakrifkan nilai secara eksplisit menggunakan ungkapan "jejak oleh":
ng-options="obj.text for obj in array track by obj.value"
Memahami Sintaks:
Ingat sintaks dengan melukis selari dengan pemahaman senarai Python. Dalam contoh Python di bawah, nilai "x2" mewakili nilai yang dipilih dan nilai dalam senarai mewakili label yang dipaparkan:
my_list = [x**2 for x in [1, 2, 3, 4, 5]] > [1, 4, 9, 16, 25]
Dalam pilihan pilih AngularJS, kami bezakan antara "nilai" untuk logik kod dan "teks" untuk tujuan paparan. Di sinilah kata kunci "sebagai" dimainkan:
person.id as person.name for person in people
Dalam contoh ini, "person.id" mewakili nilai yang dipilih, manakala "person.name" ialah label yang dipaparkan. Begitu juga, untuk objek JavaScript, nyahbina item menggunakan pasangan "(kunci, nilai)".
Dengan memahami nuansa ini, anda boleh menetapkan nilai pilihan dengan berkesan dalam pilihan-ng AngularJS.
Atas ialah kandungan terperinci Bagaimanakah anda menetapkan nilai pilihan dalam pilihan-ng AngularJS apabila sumber data anda tidak mempunyai sifat nilai eksplisit?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!