2011-04-16 15 views
6

मैं ग्रिड (Ext जे एस) में एक प्रगति बार प्रस्तुत करना, और इस त्रुटि प्राप्त करने की कोशिश कर रहा हूँ:वस्तु समारोह कोई विधि स्थगित है

Object function has no method defer

इस "जादुई" विधि क्या है? यह क्या करता है? और यह क्यों नहीं मिला? कोड:

renderer: function (value, meta, rec, row, col, store){ 
    var id = Ext.id(); 
    (function(){ 
     new Ext.ProgressBar({ 
      renderTo: id, 
      value: 0.5 
     }); 
    }).defer(25); 
    return '<span id="' + id + '"></span>'; 
} 

उत्तर

10

समारोह defer एक्स मिलीसेकेंड से एक समारोह कॉल देरी करने के लिए प्रयोग किया जाता है: जब आप ब्राउज़र कमांड लाइन से इस कोड को चलाने आप एक ही त्रुटि मिलती है।

Ext.Function.defer(function(){ 
    new Ext.ProgressBar({ 
     renderTo: id, 
     value: 0.5 
    }); 
}, 25); 

कि ExtJS API documentation के अनुसार काम करना चाहिए: इस तरह एक वाक्य रचना की कोशिश करो।

+1

और दस्तावेज़ीकरण के लिंक के लिए धन्यवाद;) – Kein

+0

यदि आप सेन्चा टच का उपयोग कर रहे हैं, तो यह 'Ext.defer (function() {...}, 25) होगा;' - अगर किसी ने इसे लंबे समय तक शिकार करने में बिताया जैसा मैंने अभी किया था! – bjudson

2

क्या आप एक्स्टजेस का उपयोग कर रहे हैं?

क्या आप वाकई सभी एक्स्टजेस लोड कर चुके हैं?

(function(){alert("Hello");}).defer(1000); 
+0

इम सिर्फ उदाहरण bootstrap.js का उपयोग कर। अन्य नमूने काम करते हैं, लेकिन हाँ कमांड लाइन फोल्डिंग कोड काम नहीं कर रहा है - एक ही त्रुटि। क्या मुझे कुछ extrereire() की आवश्यकता हो सकती है? – Kein

+0

और ExtJS 4 – Kein

+2

का संस्करण ExtJS 4 में बहुत कुछ बदल गया है - पिछले संस्करण के काम करने के उदाहरणों की अपेक्षा न करें। देशी जावास्क्रिप्ट ऑब्जेक्ट्स और विस्तारित नहीं हैं। defer() अब देशी समारोह का नहीं, Ext.Function का हिस्सा है। टॉमी द्वारा पोस्ट किया गया उदाहरण आज़माएं। –

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