Maison > interface Web > js tutoriel > 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
Libérer: 2024-11-19 00:21:02
original
1001 Les gens l'ont consulté

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);
Copier après la connexion

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);
Copier après la connexion
  1. Exécutez la fonction compilée avec les données :
var html = tmpl(data);
Copier après la connexion

Ou, dans une seule ligne :

var html = _.template(template_string)(data);
Copier après la connexion

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;
  }
});
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal