मैं अपने आवेदन में Ember.js का उपयोग कर रहा हूं, लेकिन एक बिंदु है जहां मैं दृश्य के संदर्भ (नियंत्रक) की एक संपत्ति अद्यतन करता हूं लेकिन अद्यतन के ठीक बाद एक पार्सर (MathJax) है जो अद्यतन फ़ील्ड के लिए डोम को देखता है इसे गणित में पार्स करने के लिए। हालांकि अद्यतन होने के बावजूद, यह मैथजेक्स अद्यतन के लिए दिखने के बाद होता है। मुझे ऐसा करने की ज़रूरत है कि एमएमटी को पार्स करने के लिए मैथजैक्स को बताए जाने से पहले एम्बर को अपडेट अपडेट करने के लिए मजबूर करें या एम्बर को अपडेट करने का इंतजार करें। क्या इसको हासिल करने के लिए कोई रास्ता है?Ember.js में मैन्युअल रूप से दृश्य को अपडेट करने के लिए कैसे?
8
A
उत्तर
17
यह एक काफी आम उपयोग-मामला है। उस कोड को निर्दिष्ट करने के लिए जो संपत्ति के परिवर्तनों के बाद निष्पादित होना चाहिए, पर्यवेक्षक का उपयोग करें। परिवर्तन सफलतापूर्वक प्रचार करने के बाद एम्बर पर्यवेक्षकों को ट्रिगर करता है। उदाहरण के लिए:
App.MathView = Ember.View.extend({
controller: null,
template: Ember.Handlebars.compile("<div>{{myProperty}}</div>"),
myPropertyDidChange: function() {
// From here the controller value is changed but DOM has not been updated
Ember.run.next(this, function() {
// This code will run when after changes have propagated to the DOM
// Call MathJax parser here
// If needed you can access the view's DOM element via this.$()
alert("New property value is in dom: "+ this.$().text());
});
}.observes('controller.myProperty')
});
Ember.run के लिए एंबर प्रबंध-Asynchrony गाइड और एपीआई डॉक्स देखें: http://emberjs.com/guides/understanding-ember/managing-asynchrony/ http://emberjs.com/api/classes/Ember.run.html#method_next
संबंधित मुद्दे
- 1. मैन्युअल रूप से मल्टीबाइंडिंग को अपडेट करने के लिए
- 2. मैन्युअल रूप से संपर्क अपडेट के लिए ContentObserver
- 3. ember.js किसी अन्य दृश्य से दृश्य को बदलना
- 4. ember.js में यूनिट परीक्षण दृश्य कैसे करें?
- 5. लाइव वेबसाइट को सुरक्षित रूप से अपडेट करने के लिए
- 6. मैन्युअल रूप से UITableView में एक पंक्ति को कैसे हटाएं?
- 7. मैन्युअल रूप से devise
- 8. मैन्युअल रूप से
- 9. कैसे गतिशील रूप से एक Ember.js वस्तु
- 10. कैसे BroadcastReceiver को रोकने के लिए मैन्युअल रूप में एंड्रॉयड
- 11. मार्शल मैन्युअल रूप से
- 12. मैन्युअल रूप से उन्हें
- 13. पाइथन मैन्युअल रूप से
- 14. मैन्युअल रूप से कॉमप्रेट
- 15. नवीनतम (रात) वेबकिट के साथ मैन्युअल रूप से एंड्रॉइड ब्राउज़र को कैसे अपडेट करें?
- 16. ग्रहण में प्लगइन स्थापित करने के लिए मैन्युअल रूप से स्थापित या मजबूर कैसे किया जाए?
- 17. मैन्युअल रूप से viewDidAppear को कॉल करने के लिए सही समय?
- 18. Ember.js डेटा डेटास्टोर को साफ़ करने के लिए कैसे करें
- 19. Ember.js: कैसे नेस्टेड दृश्य उदाहरणों का उपयोग करने की
- 20. मैन्युअल रूप से आईडी
- 21. मैन्युअल रूप से Umbraco में दस्तावेज़ को लिंक कैसे बदलें
- 22. त्रुटियों को मैन्युअल रूप से लॉग इन करने के लिए ELMAH का उपयोग कैसे करें
- 23. परियोजना में मैन्युअल परीक्षणों को प्रभावी ढंग से प्रबंधित करने के लिए कैसे करें?
- 24. गिटब मुद्दे को मैन्युअल रूप से
- 25. WIF मैन्युअल रूप से federationmetadata.xml
- 26. इकाई फ्रेमवर्क कोड-प्रथम: डेटाबेस को मैन्युअल रूप से कैसे अपडेट करें?
- 27. कैसे निर्भरता इंजेक्शन मैन्युअल रूप से कार्यान्वित?
- 28. मैन्युअल रूप से एएसटी कैसे बनाएं?
- 29. पोस्टग्रेस मैन्युअल रूप से अनुक्रम
- 30. मैन्युअल रूप से नई पंक्ति
धन्यवाद, मुझे जो चाहिए वह Em.run.next था (यह, फ़ंक्शन() {... – Akash
दृश्य अभी चला गया है। अब मुझे संपत्ति परिवर्तन कहां देखना चाहिए? – Cameron