क्या मॉडल में निजी गुण होना संभव है? एक (कन्स्ट्रक्टर) फ़ंक्शन में स्थानीय रूप से घोषित चर की तरह, this
से जुड़ा नहीं है, लेकिन (कन्स्ट्रक्टर) फ़ंक्शन में जो भी परिभाषित किया गया है, केवल स्थानीय रूप से और दृश्यमान घोषित किया गया है। बी बी देखें बिना उदाहरण:मॉडल में निजी-जैसी गुण या Backbone.js के विचार
function MyView(aModel){
var $internalInput = $('<input>');
this.render: function($where){
$internalInput.val(aModel.get('SomeProperty'));
$where.append($('<div class="inputWraper">').append($internalInput));
};
this.toggleReadonly: function() {
toggle $internalInputs readonly attribute
}
...
+ Code to bind input.val to some aModel property(ies) and setup events
...
}
ध्यान दें कि internalInput
बाहर की दुनिया और aModel
लिए सुलभ नहीं है भी सुलभ (MyView कम से कम के माध्यम से) नहीं है। तो अगर मैं उपरोक्त MyView को लागू करने के लिए बैकबोन का उपयोग करना चाहता हूं, तो मैं इसे कैसे करूँगा और $ आंतरिक इनपुट 'निजी' रखूंगा?
नोट करें कि "निजी" प्राप्त करने वाली एकमात्र चीज आपके कोड को धीमा कर रही है। – Raynos
क्या आप कृपया विस्तृत कर सकते हैं? मैं बस इसे छिपाने के उद्देश्यों के लिए चाहता हूं ताकि मैं भविष्य में इसे बदल सकूं, डर के बिना किसी को सीधे इसका इस्तेमाल करके उस पर निर्भर हो सकता है। लेकिन अगर इसका मतलब है कोड को धीमा करना तो यह एक मुद्दा है। मुझे आपके दावे पर और जानकारी कहां मिल सकती है? – Paralife
[क्लोजर में भारी ओवरहेड है] (http://stackoverflow.com/a/8729939/419970), [निजी राज्य महंगा है लेकिन बेहतर किया जा सकता है] (http://raynos.org/blog/23/Prototypes-and -private राज्य)। मेरी व्यक्तिगत सिफारिश _intern_ गुणों के लिए '_foo' का उपयोग करती है जो बदलने की संभावना है। अगर कोई _internal_ गुणों पर निर्भर करता है तो यह _their_ समस्या है जब आपका एपीआई बदलता है, आपकी समस्या नहीं – Raynos