2012-11-30 14 views
8

क्या backbone.js में वैश्विक चर का उपयोग करना संभव है?क्या backbone.js में वैश्विक चर का उपयोग करना संभव है?

exmpl:

var TodoView = Backbone.View.extend({ 

counter: null ; // is this possible ? 

initialize: function(){ 

this.render(); 

}, 

render: function(){ 



} 


}); 
+2

कि एक उदाहरण चर कि किसी विशेष दृश्य उदाहरण, देखने के सभी उदाहरणों को वैश्विक नहीं होगा की तरह सेवा कर सकता है। , अशक्त ' – asawyer

+1

@asawyer क्या उल्लेख के अलावा, कि अवैध जावास्क्रिप्ट वाक्य रचना है, यह' हो काउंटर करने की आवश्यकता होगी है इसलिए मुझे सभी शब्दावली नहीं पता है। – Jack

+0

Thany आप पुरुष, हाँ मैं इसे अब देखते हैं (; समस्याओं से दूर एक है), मैं OOP में बहुत नया हूँ: – Sysrq147

उत्तर

22

आप आसानी से कम से कम 3 अलग-अलग दायरों में चर स्टोर कर सकते हैं:

  • नियमित उदाहरण चर
    • इन गुणों के रूप में पर संग्रहीत किया जा सकता प्रत्येक दृश्य उदाहरण के लिए अद्वितीय दृश्य का this ऑब्जेक्ट
    • उदाहरण: this.selectedItem = this.$el.find('.selected');
  • कक्षा स्तर के चर दृश्य
    • के सभी उदाहरणों इन दृश्य वर्ग के निर्माता समारोह पर संग्रहित किया जा सकता द्वारा साझा
    • उदाहरण: TodoView.counter = 0; (डाल कि अपने पूरे .extend मंगलाचरण के बाद)
  • सही वैश्विक चर (हाँ, ये खराब हैं, लेकिन चूंकि आपने पूछा)
    • आप var या बस स्पष्ट करके इन्हें रिसाव कर सकते हैं y window वस्तु को
    • उदाहरण आवंटित: window.appLaunchTime = new Date()
+2

आप बहुत ज्यादा (मेरी अंग्रेजी के लिए या मेरे जावास्क्रिप्ट के लिए खेद है, मैं दोनों में नोब हूं।) – Sysrq147

+0

बस कमाल ... !!!! –

+0

window.xxx backbone.js में काम नहीं कर रहा है। कोई विचार?? (xxx एक चर नाम है) – jeevs

3

क्या पीटर पहले ही कहा है, अगर आप क्या एक निजी चर कि TodoView के सभी उदाहरणों में उपलब्ध है के बराबर होने में रुचि रखते हैं के अलावा आप बनाते हैं तो आप निम्न की तरह कुछ कर सकते हैं।

(function() { 
    var counter = 0; //This can be used now as a private variable inside TodoView 

    window.TodoView = Backbone.View.extend({ 

    initialize: function(){ 
     this.render(); 
     counter += 1; 
    }, 

    render: function(){ 
    } 
    }); 
})(); 
0

स्थिर गुंजाइश

var TodoView = Backbone.View.extend({ 
TodoView.counter++//reference it this way 
},{ 
counter: null ;}) 

में डालने की कोशिश कुछ हद तक एक वैश्विक चर

संबंधित मुद्दे