Menyediakan elemen tipe HTML div
, bagaimana mengatur nilai id
atributnya, yang merupakan gabungan dari variabel lingkup dan string?
javascript
angularjs
angularjs-scope
string-concatenation
Thierry Marianne
sumber
sumber
myScopeObject
? Di mana saya akan mendefinisikannya?myScopeObject
adalah properti dariscope
objek yang diekspos menggunakan controller Silakan lihat juga docs.angularjs.org/guide/controller . Apakah itu cukup jelas untuk Anda atau harus saya jelaskan lebih lanjut?<div id="{{ 'object' + index }}">
dan<div ng-attr-id="{{ 'object' + index }}">
? Docs tampaknya mengatakan prapenggunaanng-attr-
adalah untuk membantu kasus-kasus di mana elemennya adalah sesuatu yang tidak standar, seperti tidak a<div>
. Apakah saya membaca dokumen dengan benar?Hal ini bekerja dengan baik untuk saya:
<div id="{{ 'object-' + $index }}"></div>
sumber
ng-attr-id
menguntungkan dalam 0% situasi. Tidak ada contoh yang dapat diberikan, karena tidak ada contoh.ng-attr-id
metode adalah untuk memastikan bahwa ekspresi ng baku tidak pernah diberikan dalam atribut HTML yang valid (misalnyaid
,label
, dll). Ini untuk menghentikan setiap penggunaan hilir yang membaca 'sampah' (mis. Sebelum render selesai, atau setelah crash js)Jika Anda datang ke pertanyaan ini tetapi terkait dengan versi Angular yang lebih baru > = 2.0 .
sumber
Cara yang lebih elegan yang saya temukan untuk mencapai perilaku ini adalah:
Untuk implementasi saya, saya ingin setiap elemen input dalam pengulangan untuk masing-masing memiliki id unik untuk mengaitkan label dengan. Jadi untuk array objek yang terkandung di dalam myScopeObjects kita bisa melakukan ini:
Mampu menghasilkan id unik dengan cepat bisa sangat berguna saat menambahkan konten secara dinamis seperti ini.
sumber
Anda cukup melakukan hal berikut
Di js Anda
Dalam templat Anda
yang akan membuat
Tidak perlu digabungkan di dalam kurung keriting ganda.
sumber
Hanya
<input id="field_name_{{$index}}" />
sumber
Jika Anda menggunakan sintaks ini:
Angular akan membuat sesuatu seperti:
Namun sintaks ini:
akan menghasilkan sesuatu seperti:
sumber
ng-attr-id
buatng-id
..? itu salah. Saya ingin tahu siapa yang memperbaiki ini