首頁 >web前端 >js教程 >為什麼我的下劃線模板出現變數未定義錯誤?

為什麼我的下劃線模板出現變數未定義錯誤?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-19 00:21:02974瀏覽

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

下劃線模板中的變數未定義錯誤

您在 Backbone.js 視圖中使用下劃線模板時遇到錯誤。這個問題源自於現代版本的 Underscore 中模板編譯的正確使用。

在舊版的Underscore 中,您可以使用一步過程來解析和填寫模板:

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

但是,在Underscore 1.7.0 及更高版本中,_.template 的第二個參數用於範本選項,需要兩個步驟:

  1. 編譯範本:
var tmpl = _.template(template_string);
  1. 使用資料執行已編譯的函數:
var html = tmpl(data);

或者,單行:

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

在您的特定在這種情況下,更正後的Backbone.js 視圖渲染方法將是:

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

以上是為什麼我的下劃線模板出現變數未定義錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn