2012-08-27 27 views
7

Tôi đang cố gắng lấy các giá trị mặc định để sử dụng theo một phương pháp. Có vẻ như không thể sử dụng Model.get() trong chính phương thức đó. Tôi đã thử hai console.log, hiển thị biến không được xác định.Nhận các giá trị mặc định từ Backbone.Model trong một phương thức?

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

Hãy thử sử dụng numBlockTypes trong dấu ngoặc kép, như sau: console.log (this.get ("numBlockTypes")); –

+0

yep, tôi vừa mới đăng câu trả lời. –

Trả lời

2

Cả hai @Elvis D'Souza và tôi đã đưa ra cùng một câu trả lời cùng một lúc.

Cần trích

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

@ klass-ivan là chính xác, câu hỏi này đặc biệt yêu cầu các giá trị "mặc định", không phải là giá trị "hiện tại" – jokeyrhyme

5

Theo câu hỏi của bạn (được mặc định giá trị), câu trả lời nên

this.defaults.numBlockTypes 

phương pháp đề cập

this.get("numBlockTypes") 

lợi nhuận hiện tại (bộ) giá trị.

Các vấn đề liên quan