下劃線範本錯誤:「變數未定義」
在提供的 Backbone.js 範例中,使用下劃線時遇到錯誤範本。錯誤訊息顯示“變數未定義”。為了理解這個問題並解決它,讓我們深入研究一下 Underscore 模板的用法。
在舊版的 Underscore(版本 1.7.0 之前)中,_.template 函數的第二個參數用來提供模板的資料。這允許使用簡潔的語法,其中模板和資料可以在一行中指定。
但是,從 Underscore 版本 1.7.0 開始,_.template 的第二個參數已重新調整用途以適應模板選項。這意味著以前直接在第二個參數中指定資料的方法不再有效。
要解決此問題,需要使用 _.template 函數編譯 Underscore 模板,然後執行產生的函數以取得填寫好的模板。正確的語法是:
var tmpl = _.template(template_string); var html = tmpl(data);
在提供的Backbone.js 範例中,以下程式碼將解決錯誤:
render: function () { var data = { lat: -27, lon: 153 }; var tmpl = _.template('<%= lat %> <%= lon %>'); this.$el.html(tmpl(data)); return this; }
透過先編譯模板,然後執行加上指定的數據,「變數未定義」的錯誤將被消除,使模板能夠渲染正確的內容。
以上是為什麼我的 Backbone.js 程式碼中出現「下劃線模板錯誤:變數未定義」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!