Rumah > hujung hadapan web > tutorial js > Mengapa saya mendapat 'Ralat Templat Underscore: Pembolehubah tidak ditakrifkan' dalam kod Backbone.js saya?

Mengapa saya mendapat 'Ralat Templat Underscore: Pembolehubah tidak ditakrifkan' dalam kod Backbone.js saya?

DDD
Lepaskan: 2024-11-13 06:11:02
asal
904 orang telah melayarinya

Why am I getting an

Ralat Templat Underscore: "Pembolehubah tidak ditakrifkan"

Dalam contoh yang disediakan untuk Backbone.js, ralat ditemui semasa menggunakan Underscore templat. Mesej ralat berbunyi "Pembolehubah tidak ditakrifkan." Untuk memahami isu dan menyelesaikannya, mari kita mendalami penggunaan templat Underscore.

Dalam versi Underscore yang lebih lama (sebelum versi 1.7.0), argumen kedua untuk fungsi _.template telah digunakan untuk menyediakan data untuk templat. Ini membenarkan sintaks ringkas di mana templat dan data boleh ditentukan dalam satu baris.

Walau bagaimanapun, pada Underscore versi 1.7.0, hujah kedua untuk _.template telah digunakan semula untuk menampung pilihan templat. Ini bermakna kaedah sebelumnya untuk menentukan data secara langsung dalam argumen kedua tidak lagi sah.

Untuk membetulkan isu tersebut, adalah perlu untuk menyusun templat Underscore menggunakan fungsi _.template dan kemudian melaksanakan fungsi yang terhasil. untuk mendapatkan templat yang diisi. Sintaks yang betul ialah:

var tmpl = _.template(template_string);
var html = tmpl(data);
Salin selepas log masuk

Dalam kes contoh Backbone.js yang disediakan, kod berikut akan menyelesaikan ralat:

render: function () {
  var data = { lat: -27, lon: 153 };
  var tmpl = _.template('<%= lat %> <%= lon %>');
  this.$el.html(tmpl(data));
  return this;
}
Salin selepas log masuk

Dengan menyusun templat dahulu dan kemudian melaksanakan dengan data yang ditentukan, ralat "Pembolehubah tidak ditakrifkan" akan dihapuskan, membolehkan templat memaparkan kandungan yang betul.

Atas ialah kandungan terperinci Mengapa saya mendapat 'Ralat Templat Underscore: Pembolehubah tidak ditakrifkan' dalam kod Backbone.js saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan