Rumah  >  Artikel  >  hujung hadapan web  >  Mengapa Saya Mendapat 'Ralat Penyampaian Templat Underscore: Pembolehubah Tidak Ditakrifkan'?

Mengapa Saya Mendapat 'Ralat Penyampaian Templat Underscore: Pembolehubah Tidak Ditakrifkan'?

Patricia Arquette
Patricia Arquetteasal
2024-11-23 10:05:17201semak imbas

Why Am I Getting an

Ralat Penyampaian Templat Underscore: "Pembolehubah Tidak Ditakrifkan"

Masalah:

Anda sedang cuba menggunakan Underscore templat untuk memaparkan HTML, tetapi menghadapi ralat "Pembolehubah Tidak Ditakrifkan." Kod yang anda gunakan ialah:

var V = Backbone.View.extend({
  el:'body',
  render: function () {
    var data = { lat: -27, lon: 153 };
    this.$el.html(_.template('<%= lat %> <%= lon%>', data));
    return this;
  }
});

var v = new V();

v.render();

Jawapan:

Isunya terletak pada cara templat Underscore dipaparkan. Dalam versi Underscore sebelumnya, anda boleh menghuraikan dan mengisi templat sekali gus, tetapi dalam versi moden, ini telah berubah.

Untuk menyelesaikan ralat, anda perlu:

  1. Kompilasikan templat menggunakan _.template.
  2. Laksanakan fungsi yang dikembalikan untuk mendapatkan isian templat.

Begini rupa kod itu:

var V = Backbone.View.extend({
  el:'body',
  render: function () {
    var data = { lat: -27, lon: 153 };
    var tmpl = _.template('<%= lat %> <%= lon%>');
    this.$el.html(tmpl(data));
    return this;
  }
});

var v = new V();

v.render();

Kod yang dikemas kini ini akan memaparkan templat menggunakan data yang disediakan dengan betul.

Atas ialah kandungan terperinci Mengapa Saya Mendapat 'Ralat Penyampaian Templat Underscore: Pembolehubah Tidak Ditakrifkan'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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