Maison  >  Article  >  interface Web  >  Pourquoi est-ce que je reçois une erreur de variable non définie dans mon modèle de trait de soulignement ?

Pourquoi est-ce que je reçois une erreur de variable non définie dans mon modèle de trait de soulignement ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-19 00:21:02953parcourir

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

Erreur de variable non définie dans le modèle de trait de soulignement

Vous avez rencontré une erreur lors de l'utilisation du modèle de trait de soulignement dans une vue Backbone.js. Le problème provient de l'utilisation correcte de la compilation de modèles dans les versions modernes d'Underscore.

Dans les anciennes versions d'Underscore, vous pouviez utiliser un processus en une seule étape pour analyser et remplir un modèle :

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

Cependant, dans Underscore 1.7.0 et versions ultérieures, le deuxième argument de _.template est utilisé pour les options du modèle, ce qui nécessite un processus en deux étapes :

  1. Compilez le modèle :
var tmpl = _.template(template_string);
  1. Exécutez la fonction compilée avec les données :
var html = tmpl(data);

Ou, dans une seule ligne :

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

Dans votre spécifique Dans ce cas, la méthode de rendu de vue Backbone.js corrigée serait :

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn