Rumah >hujung hadapan web >tutorial js >Mengapa saya mendapat Ralat Tidak Ditakrifkan Pembolehubah dalam Templat Underscore saya?

Mengapa saya mendapat Ralat Tidak Ditakrifkan Pembolehubah dalam Templat Underscore saya?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-19 00:21:021010semak imbas

Why am I getting a Variable Not Defined Error in my Underscore Template?

Ralat Pembolehubah Tidak Ditakrifkan dalam Templat Underscore

Anda mengalami ralat semasa menggunakan templat garis bawah dalam paparan Backbone.js. Isu ini berpunca daripada penggunaan kompilasi templat yang betul dalam versi moden Underscore.

Dalam versi Underscore yang lebih lama, anda boleh menggunakan proses satu langkah untuk menghuraikan dan mengisi templat:

var html = _.template(template_string, data);

Walau bagaimanapun, dalam Underscore 1.7.0 dan kemudian, hujah kedua untuk _.template digunakan untuk pilihan templat, yang memerlukan proses dua langkah:

  1. Kompilasi templat:
var tmpl = _.template(template_string);
  1. Laksanakan fungsi yang disusun dengan data:
var html = tmpl(data);

Atau, dalam satu pelapis:

var html = _.template(template_string)(data);

Dalam kes khusus anda, pembetulan Kaedah paparan paparan Backbone.js ialah:

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;
  }
});

Atas ialah kandungan terperinci Mengapa saya mendapat Ralat Tidak Ditakrifkan Pembolehubah dalam Templat Underscore saya?. 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