2014-06-24 5 views
0

Comment accéder globalement à l'objet "contexte" dans la fonction Parse.find? Je reçois une erreur "Erreur de référence non interceptée: contexte non défini". Je suis nouveau à backbone.js. J'ai vu quelques messages concernant la portée des vues dorsales. Mais ils ne m'ont pas aidé. Toute aide serait grandement appréciée.Accès aux variables de méthode dans les vues Backbone (vues d'analyse)

var MessageView = Parse.View.extend({ 

    el: "#post", 

    context:"", 

    tagName: "li", 

    initialize: function() { 
     var self = this; 
     this.render(); 
     console.log('Message View Initialized');  
    }, 
    render: function(res) { 
     //var context; 

     // declaring it here as a global variable doesn't help 

     var query = new Parse.Query(Message); 
    query.find({ 
    success:function(results){ 

     for(var i=0;i<results.length;i++){ 
      results[i].from=results[i].attributes.from; 
      results[i].message=results[i].attributes.messageBody; 
      message.set("from",results[i].from); 
      message.set("message",results[i].message); 
     } 

    context={from:message.attributes.from,message:message.attributes.message}; 

    //I want this object to be accessed anywhere in the render function 

    }, 
    error:function(error){ 
     console.log(error); 
    } 
    }); 
    var source=$("#messageTmpl").html(); 
    var messageTemplate = Handlebars.compile(source); 

    // I need to access context object in parse.find({}) here 
    // context variable with values "from" and "messageBody" 

    var html = messageTemplate(context); 
    console.log(context); 
    this.$el.html(html); 
}, 
}); 

J'ai trouvé cette question très similaire à la mienne. [question] backbone view access methods variables

Répondre

0

le déclarer en tant que propriété de vue?

var = MessageView Parse.View.extend ({

el: "#post", 

context:"", 

tagName: "li", 

query: new Parse.Query(Message), 

initialize: function() { 
    ... 
}, 
render: function(res) { 
    ... 
+0

je l'ai déjà déclaré comme une propriété de vue, mais comment puis-je passer la valeur à cette propriété vue? Je veux passer l'objet de contexte la propriété de vue de contexte Maintenant j'ai mis une chaîne vide – user3769158

+0

vous pouvez déclarer en tant que propriété de vue et ensuite initialiser plus tard par exemple de 'initialize()'? –

+0

Comment est-ce que je place la propriété de vue de contexte avec l'objet de contexte? backbone – user3769158