क्या किसी को पता है कि बैकबोन.जेएस में देखने के बाद कौन सी घटना निकाल दी जाती है?viewbre.js घटना view.render() समाप्त हो गया है
उत्तर
जहाँ तक मुझे पता है - none is fired। स्रोत कोड में रेंडर फ़ंक्शन खाली है।
The default implementation of render is a no-op
मैं आवश्यक होने पर इसे मैन्युअल रूप से ट्रिगर करने की अनुशंसा करता हूं।
constructor: function(){
Backbone.View.call(this, arguments);
var oldRender = this.render
this.render = function(){
oldRender.call(this)
// this.model.trigger('xxxxxxxxx')
}
}
इसके लिए आपको 'कन्स्ट्रक्टर' को ओवरराइट करने की आवश्यकता नहीं है। – mate64
कन्स्ट्रक्टर बिंदु नहीं है। आप इसे मैन्युअल रूप से ट्रिगर भी कर सकते हैं या jquery $ का उपयोग कर सकते हैं। @ cept0 – user873792
मैं इस post जो लगता है दिलचस्प
var myView = Backbone.View.extend({
initialize: function(options) {
_.bindAll(this, 'beforeRender', 'render', 'afterRender');
var _this = this;
this.render = _.wrap(this.render, function(render) {
_this.beforeRender();
render();
_this.afterRender();
return _this;
});
},
beforeRender: function() {
console.log('beforeRender');
},
render: function() {
return this;
},
afterRender: function() {
console.log('afterRender');
}
});
आपको इस पंक्ति की आवश्यकता क्यों है: '_.bindAll (यह, 'पहले प्रस्तुतकर्ता', 'प्रस्तुत करें', 'बाद में');'? – pilau
@ पिलौ - देखें [यह] (http://blog.bigbinary.com/2011/08/18/understanding-bind-and-bindall-in-backbone.html) _.bind और _.bindAll को समझने के लिए। इससे मुझे मदद मिली, उम्मीद है कि यह आपकी भी मदद करेगा। – arunkjn
मुझे पता है कि यह क्या करता है, मैं इस बारे में पूछताछ कर रहा हूं कि आपको इसका उपयोग क्यों करना है, क्योंकि वे (फ़ंक्शंस), सभी दृश्य वस्तु को विस्तारित कर रहे हैं? – pilau
या आप निम्नलिखित है, जो है क्या बैकबोन कोड (ऑब्जर्वर पैटर्न की तरह लग रहे करने के लिए माना जाता है कर सकते हैं में भाग की तरह, उर्फ पब/उप)। यह जाने का रास्ता है:
var myView = Backbone.View.extend({
initialize: function() {
this.on('render', this.afterRender);
this.render();
},
render: function() {
this.trigger('render');
},
afterRender: function() {
}
});
संपादित करें: this.on('render', 'afterRender');
काम नहीं करेगा - क्योंकि Backbone.Events.on
केवल कार्यों स्वीकार करता है। .on('event', 'methodName');
जादू Backbone.View.delegateEvents
द्वारा संभव बनाया गया है और यह केवल डीओएम घटनाओं के साथ उपलब्ध है।
अनकॉटेड टाइप त्रुटि: ऑब्जेक्ट के बाद रेंडर में कोई विधि नहीं है' कॉल ' – Trip
@ टिप फिक्स्ड। ऐसा नहीं लगता था कि इससे कोई फर्क नहीं पड़ता लेकिन स्पष्ट रूप से यह अकेले विधि के नाम से काम नहीं करता है। अब मुझे पता लगाना है कि क्यों। – pilau
मैंने अपना जवाब अपडेट किया, उम्मीद है कि किसी को यह उपयोगी लगेगा। – pilau
इंटिलाइजेशन को प्रस्तुत करने के लिए मैन्युअल रूप से इवेंटहैंडर जोड़ने के बजाय आप ईवेंट को अपने दृश्य के 'ईवेंट' अनुभाग में भी जोड़ सकते हैं। http://backbonejs.org/#View-delegateEvents
उदा।
events: {
'render': 'afterRender'
}
afterRender: function(e){
alert("render complete")
},
यह काम नहीं करता है। प्रतिनिधि घटनाएं डोम पर होने वाली घटनाओं का संदर्भ देती हैं। दृश्य ऑब्जेक्ट पर कॉलबैक नहीं। – louism2
'घटनाओं' का उपयोग 'डीओएम घटनाओं के लिए घोषणात्मक कॉलबैक' के लिए किया जाता है, देखें [रीढ़ की हड्डी/# व्यू-प्रतिनिधि एवेन्ट्स] (http://documentcloud.github.io/backbone/#View-delegateEvents) – RainChen
आप Marionette का उपयोग कर कर रहे हैं तो, कठपुतली विचारों पर show
और render
घटनाओं कहते हैं। उदाहरण के लिए this StackOverflow question देखें।
एक तरफ ध्यान दें पर, कठपुतली अन्य उपयोगी सुविधाओं है कि आप में रुचि हो सकती का एक बहुत कहते हैं
- 1. jqgrid घटना जब रीलोड समाप्त हो गया है?
- 2. एक div के बाद घटना एनिमेटिंग समाप्त हो गई है?
- 3. क्यों "अनुमत स्मृति आकार समाप्त हो गया"?
- 4. htaccess - सशर्त पुनर्लेखन और समाप्त हो गया
- 5. एक्सएचआर लोडिंग समाप्त हो गया [...] लॉग संदेश
- 6. निदान "अनुरोध का समय समाप्त हो गया है" HttpExceptions
- 7. कैसे जांचें कि धागा समाप्त हो गया है या नहीं?
- 8. गतिविधि को कैसे पता चलाना समाप्त हो गया है?
- 9. कैसे जांचें जब Shell32.Folder.CopyHere() समाप्त हो गया है
- 10. PHP: जाओ स्क्रिप्ट से पहले उत्पादन समाप्त हो गया है
- 11. हेडर जावास्क्रिप्ट फ़ाइलों पर समाप्त हो गया है
- 12. आपका डेवलपर लाइसेंस समाप्त हो गया है (विंडोज 8)
- 13. cudamemcpy त्रुटि: "लॉन्च का समय समाप्त हो गया और इसे समाप्त कर दिया गया"
- 14. समस्याएं समय समाप्त हो गया हो रही घबराहट Analytics में घटनाओं
- 15. टाइमआउट समाप्त हो गया। ऑपरेशन पूरा होने से पहले टाइमआउट अवधि समाप्त हो गई है या सर्वर
- 16. Asp.Net कब समाप्त हो गया कैश आइटम निकालें?
- 17. .NET 4.0 इकाई फ्रेमवर्क टाइमआउट समाप्त हो गया
- 18. क्लिकऑन प्रमाणपत्र समाप्त हो गया - मेनिफेस्ट पर हस्ताक्षर नहीं
- 19. 3 जी आईफोन डिवाइस "रनिंग समाप्त हो गया" लेकिन ऐप
- 20. PHP जीडी अनुमत स्मृति आकार समाप्त हो गया
- 21. टोकन समाप्त हो गया - JSON REST API - त्रुटि कोड
- 22. मोनो अपाचे 2 HttpWebRequest "अनुरोध का समय समाप्त हो गया"
- 23. सी ++ गैर नल समाप्त हो गया चार सरणी आउटपुट
- 24. कर्ल अपवाद: 28: कनेक्ट() का समय समाप्त हो गया?
- 25. जावास्क्रिप्ट समाप्त हो गया हैडर को 12 महीने
- 26. ओपन समाप्त हो गया सिलेंडर सामग्री के अंदर
- 27. HTTP कुकी का समय समाप्त हो गया (औसत, अधिकतम, ...)
- 28. सोपयूआई: कनेक्ट अपवाद: कनेक्शन का समय समाप्त हो गया:
- 29. MySQL पिड समाप्त हो गया (mysql शुरू नहीं कर सकता)
- 30. Google ऐप इंजन का समय समाप्त हो गया?
चियर्स, अपने समाधान –
@StefanSchmidt btw मुझे :) के लिए बाहर काम किया -। अपने आप को backbone.js स्रोत कोड पढ़ने की कोशिश । यह काफी पठनीय है। –
हाँ ... यह है कि मैंने आपकी पोस्ट के बाद क्या पता लगाया। इससे पहले कि मैं थोड़ा डरा था। थोडा जावास्क्रिप्ट नोब: डी –