/ / неопределена променлива при визуализиране на данни от шаблон за долна черта в backbone - javascript, templates, backbone.js, underscore.js, underscore.js-templating

undefined променлива при изобразяване на данни за шаблони за подменю в гръбнака - javascript, шаблони, backbone.js, underscore.js, underscore.js-templating

Използвам гръбнак с шаблони за подчертаване, но имам проблем с подчертаването, за да направя данните, които преминавам към шаблона.

define([
"jquery",
"underscore",
"backbone",
"models/home/HomeModel",
"text!/app/templates/home/homeTemplate.html"
], function($, _, Backbone,HomeModel,homeTemplate){

var HomeView = Backbone.View.extend({
el: $("#page"),

initialize: function(){
var self = this;
self.model = new HomeModel();
},

render: function(){
var homeTitle = this.model.get("title");
var homeData = {
title: homeTitle
}

var compiledTemplate = _.template( homeTemplate, homeData );
this.$el.html(compiledTemplate);

}

});

return HomeView;

});

В този код мога да стигна до обекта var homeData = {}, който включва правилното заглавие от модела, но когато създам compiledTemplate, получавам грешка, казвайки, че заглавието не е дефинирано.

Някакви идеи какво правя нередно тук?

Отговори:

2 за отговор № 1

От Документация на Underscore.js

var compiled = _.template ("hello: <% = име%>");

компилиран ({name: "moe"});

=> "Здравейте: moe"

Изглежда, че не използвате _.template правилно. Тя връща компилирана функция на шаблон, която можете да извикате с данните, за да визуализирате:

var compiledTemplate = _.template( homeTemplate, homeData );
this.$el.html( compiledTemplate( homeData ) );