2013-05-27 4 views
6

में एक लेबल के मान को सेट मैं एक नियंत्रक है, और मैं अगले दृश्य के लिए एक सरल स्ट्रिंग मान पास करना चाहते हैं।नियंत्रक से एक और दृश्य के लिए डेटा पासिंग और Sencha स्पर्श

कि के लिए, मैं इस तरह देखें बनाने रहा हूँ।

 
    var nextView= Ext.create('MyApp.view.NextView',{ 
     content: 'value' 
    }); 
    Ext.Viewport.add(nextView); 
    Ext.Viewport.animateActiveItem(nextView,{type: 'slide', direction: 'left'}); 

NextView पर, मैं एक लेबल है, और मुझे लगता है कि मैं मूल्य नियंत्रक से गुजर रहा हूँ करने के लिए लेबल के एचटीएमएल गुण सेट करना चाहते हैं। अर्थात। 'मान'।

मेरे NextView इस तरह दिखता है।

 
Ext.define('MyApp.view.NextView', { 
    extend: 'Ext.form.Panel', 
    config: { 
     content: 'null', 
     items: [ 
      { 
       xtype: 'label', 
       html: 'value' 
      } 
     ] 
    } 
}); 

मुझे यकीन नहीं है कि यहां से कैसे आगे बढ़ना है। मेरे पास एक रूप के रूप में NextView नहीं हो सकता है। मुझे बस इस स्थिति में एक स्ट्रिंग मान पास करने की आवश्यकता है। इसे प्राप्त करने का सबसे अच्छा तरीका क्या है? इस तरह config डेटा का उपयोग करने

उत्तर

8

उपयोग initialize विधि:

Ext.define('MyApp.view.NextView', { 
    extend: 'Ext.form.Panel', 
    config: { 
     content: 'null', 
     items: [ 
      { 
       xtype: 'label', 
       html: 'value' 
      } 
     ] 
    }, 
    initialize : function(){ 
     this.callParent(); 
     var val = this.config.content; 
     this.down('label').setHtml(val); 
    } 
}); 

पुनश्चdown समारोह

+0

धन्यवाद। यह काम करता है :) –

4

मैं जानता हूँ कि सवाल का जवाब दे दिया गया है में अपने पसंदीदा चयनकर्ता का उपयोग करने के लिए स्वतंत्र महसूस करें। लेकिन मैं तो बस (दृश्य के निर्माता का प्रयोग करके) एक दृश्य के लिए नियंत्रक से डेटा पारित करने के लिए एक सुंदर प्राकृतिक तरीके से खोदा। मैं इसे अपने ऐप पर वेब डेस्कटॉप के एकीकरण में उपयोग करता हूं। ध्यान में रखते हुए

loiTab = Ext.create('Iip.view.giips.admission.DetailedLoiTab', {closable: true, selectedLoiData: selected[0].data}); 

, एक निर्माता के ऊपर स्पिन के रूप में पालन:

नियंत्रक में, डेटा दृश्य के निर्माता के रूप में पीछा पारित

constructor: function(selectedLoiData) { 
    Ext.applyIf(this, selectedLoiData); 
    this.callParent(); 
}, 

निम्न विधि ही में रहती है निर्माता के रूप में फ़ाइल। आप किसी भी स्थान से चयनित लोईडाटा तक पहुंच सकते हैं, जहां निर्माणाधीन रहता है:

initComponent: function(){ 
    console.log(this.selectedLoiData); 
} 
संबंधित मुद्दे