2012-08-27 9 views
7

Sto cercando di ottenere i valori predefiniti da utilizzare con un metodo. Sembra che Model.get() non possa essere utilizzato all'interno del metodo stesso. Ho provato i due console.log, che mostra che la variabile non è definita.Ottenere valori predefiniti da Backbone.Model in un metodo?

define(['jquery', 'Underscore', 'Backbone'], function($, _, Backbone){ 
    var Game = Backbone.Model.extend({ 
     //default values for the function 
     defaults: { 
      rows : 9, 
      cols : 8, 
      baseScore : 100, 
      numBlockTypes : 6, 
      baseLevelTimer : 60000, 
      baseLevelScore : 1500, 
      baseLevelExp : 1.05, 
     }, 
     initialize: function(){ 
      console.log(this.get(numBlockTypes)); 
      //console.log(numBlockTypes); 
     } 
    }), 

    game = new Game; 

    return game; 
}); 
+1

Provare a usare numBlockTypes tra virgolette, come questo: console.log (this.get ("numBlockTypes")); –

+0

sì, stavo per pubblicare la risposta. –

risposta

2

Entrambi @Elvis D'Souza e ho trovato la stessa risposta allo stesso tempo.

Necessità cita

console.log(this.get('numBlockTypes')); 
+0

@ klass-ivan è corretto, questa domanda richiede specificamente valori "predefiniti", non valori "correnti" – jokeyrhyme

5

Secondo la tua domanda (ottenere predefinita valori), la risposta dovrebbe essere

this.defaults.numBlockTypes 

metodo di cui

this.get("numBlockTypes") 

rendimenti valori correnti (impostati).

Problemi correlati