2012-02-03 11 views
5

मेरा एम्बर.जेएस मॉडल, व्यू, और कंट्रोलर क्लास थोड़ा वर्बोज़ प्राप्त कर रहे हैं। इसका हिस्सा this.attr के बजाय this.get('attr') लिखने से आता है।Ember.js: इस से बचने के लिए ठीक है। ('Attr')?

क्या यह हमेशा this.attr लिखना ठीक है, जब तक कि विशेषता सीधे घोषित नहीं की जाती है, बाध्यकारी के माध्यम से नहीं?

(मैं समझता हूँ कि सेटिंग एक अलग मुद्दा है - आप हमेशा निर्भर गुण और टेम्पलेट्स अवगत कराने के लिए this.set('attr', value) कॉल करने के लिए है।)

उत्तर

5

IIRC, आप निजी संपत्तियों कि आप जानते हैं कि नहीं होगा के लिए ऐसा कर सकते हैं नमूदार।

सम्मेलन अंडरस्कोर (जैसे _myProperty) के साथ अपने निजी गुणों को उपसर्ग करना है जो एम्बर को बांधने के लिए नहीं कहता है।

.get() के लिए दस्तावेज़ देखें, या source code देखें यदि आप इतने इच्छुक हैं।

+0

लिंक टूटा हुआ प्रतीत होता है – rjhilgefort

3

यदि संपत्ति देखी जा रही है या बाध्य है, तो आप 'this.attr' नहीं करना चाहते हैं। गेट कमांड नेक्सस है जिसके माध्यम से पर्यवेक्षकों और बाइंडिंग ट्रिगर होते हैं।

+1

दिलचस्प। तो किस परिस्थिति में कमांड कमांडर को पर्यवेक्षक या बाध्यकारी ट्रिगर करेगा? मैंने सोचा कि यह केवल वर्तमान मूल्य को निष्क्रिय रूप से पढ़ता है। (मैं पर्यवेक्षकों और बाइंडिंग को ट्रिगर करने के लिए सेट नहीं कर रहा था, प्राप्त नहीं कर रहा था।) –

+0

@ जॉलीस: मुझे लगता है कि यह तब होगा जब आप एक गणना की गई संपत्ति को पढ़ने की कोशिश करते हैं जो अन्य गुणों पर निर्भर करता है। –

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