2012-10-05 2 views
0

Je suis assez nouveau pour Backbone.js et Require.js. Dans mon application, je suis modèles chargement dans chaque module via require (en utilisant le texte plug-in!), Comme suit:Insérer les données dans le modèle chargé avec require.js

define([ 
'jQuery', 
'Underscore', 
'Backbone', 
'API', 
'Utils', 
'text!templates/home/register.html' 
], function($, _, Backbone, api, utils, registerTpl){ 
     var registerView = Backbone.View.extend({ 
      el: $("#content"), 
      render: function(){ 
       this.el.html(registerTpl); 
      }, 
      {...} 

Je ne sais pas comment lier des modèles de données ou charger directement les données dans mes modèles comme montré dans les exemples de backbonetutorials.com, quelque chose comme ceci:

{...} 
render: function(){ 
     //Pass variables in using Underscore.js Template 
     var variables = { search_label: "My Search" }; 
     // Compile the template using underscore 
     var template = _.template($("#search_template").html(), variables); 
     // Load the compiled HTML into the Backbone "el" 
     this.el.html(template); 
}, 
{...} 
<script type="text/template" id="search_template"> 
<!-- Access template variables with <%= %> --> 
<label><%= search_label %></label> 
<input type="text" id="search_input" /> 
<input type="button" id="search_button" value="Search" /> 
</script> 

Toute idée, pointe ou extrait de code sera apprécié.

Répondre

3

Eh bien, c'est simple, dans le tutoriel, il prend les données de modèle directement à partir du DOM pendant que vous le passez en référence avec require js.

Vous pouvez juste faire quelque chose comme ceci:

template = _.template(registerTpl), 

render: function(){ 
     var variables = { search_label: "My Search" }; 
     this.el.html(this.template(variables)); 
     return this; 
}, 

Au lieu de cela, si vous voulez utiliser les données de votre modèle avec votre modèle:

this.el.html(this.template(this.model.toJSON())); 
Questions connexes