Backbone: Tidak dapat Melewati atribut "data-" dalam metode Atribut View

Dibuat pada 3 Okt 2012  ·  8Komentar  ·  Sumber: jashkenas/backbone

Saya penggemar pengaturan atribut dalam tampilan seperti itu ...

Backbone.View.extend({
 atribut: {
 data-attr: 'data saya'
 }
 });

... namun, ini menimbulkan kesalahan karena tanda hubung di kunci "data-attr".

SyntaxError Tidak Tertangkap: Token tak terduga -
Saya menyadari ini adalah token ilegal dalam objek nilai kunci JavaScript, namun saya berharap Backbone menawarkan beberapa solusi untuk ini, mengingat fakta bahwa meneruskan atribut data adalah salah satu skenario yang paling mungkin. Saya telah mengatasinya dengan mengatur atribut di dalam fungsi render menggunakan jQuery:
render: fungsi () {
 this.$el.attr( 'data-attr', 'datasaya"');
 }

Ini berfungsi, tetapi saya berpikir untuk menanyakan apakah ada opsi lain.

question

Komentar yang paling membantu

Anda dapat menggunakan fungsi seperti:

attributes: function() {
  return {
    'data-attr': this.model.foo
  };
}

Semua 8 komentar

Yap -- itu hanya objek JavaScript. Gunakan kunci yang dikutip.

attributes: {
    "data-attr": "mydata"
}

Ahh, saya pikir saya mencobanya! Terima kasih!

Apa yang Anda sarankan untuk meneruskan atribut data ke elemen DOM Tampilan dari atribut dalam Model Tampilan? Dengan demikian...

 atribut: {
 "data-attr": this.model.foo
 }

Saya kehilangan ruang lingkup untuk referensi ke "ini".

 TypeError Tidak Tertangkap: Tidak dapat membaca 'model' properti dari undefined 

Anda dapat menggunakan fungsi seperti:

attributes: function() {
  return {
    'data-attr': this.model.foo
  };
}

Luar biasa. Itu bekerja dengan sempurna. Terima kasih atas tanggapan yang cepat!

Sama-sama, tapi di masa depan, tolong jangan gunakan tiket bug untuk dukungan teknis seperti ini -- coba saluran IRC atau milis terlebih dahulu.

senang untuk. Saya mencobanya terlebih dahulu, tetapi hanya ada satu pengguna lain di DocumentCloud IRC, Turjakas yang tidak merespons.

Pasti salah ketik -- ada 242 orang di #documentcloud di freenode sekarang.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat