2013-10-08 56 views
1

我想從TabView的(myView1)通過一個ID爲控制器(theController),那麼以後,我想那控制器類在同一面板的數據傳遞到另一TabView的(myView2)。任何人有任何想法,我怎麼能做到這一點?煎茶觸摸:如何傳遞數據從一個視圖控制器和控制器到下一頁查看

+0

嗨,我相信身份證是獨特的實體,它可以根據需要在全球範圍內訪問.. – codebreaker

+0

@Mureinik,請參閱下面的答案 – Arsalan

回答

0

你可以不喜歡在你的控制器此

config:{ 
refs:{ 
    myView1: "myView1Ref", 
    myView2: "myView2Ref" 
}, 
controls:{ 
    myView1:{ 
     idgiven: "onIdGiven" 
    } 
} 
}, 
onIdGiven: function(id){ 
    this.getMyView2().setData(yourData); 
} 
在MyView1

,當你想給的ID,只是做

this.fireEvent(yourId); 
0
Ext.define('myapp.controller.theController', { 

extend: 'Ext.app.Controller', 
config: { 
    refs: { 
     views: [ 
      'myapp.view.myView1', 
      'myapp.view.myView2', 
     ], 
     refMyView1: 'myView1', 
     refMyView2: 'myView2', 
    }, 
    control: { 
     'button[action=submit]':{ // on tab of submit button 
      tap: 'submitTapHandler' 
     }, 
    }, 
    }, 

submitTapHandler: function(){ 
    var view1data = this.getRefMyView1().getValues(); // view1data contain all field data of view1 in record form 

    //controller to view pass data 
    var myView2 = Ext.create('myapp.view.myView2'); 
    // create a record that key value have name of fields and value to pass to that field 
    var record; 
    // set record key value 
    myView2.setRecord(record); 
} 

}) 
+0

嗨Rathore!我得到你的答案,但我不知道如何檢索myView2中的值。我試圖使用tpl,但該記錄還沒有。你能告訴如何檢索通過setRecord()方法傳遞的記錄。更多我能夠使用DataListView。但它不是我想要的東西。先謝謝你。 – Arsalan

0

這是我的Tab平板View類(MyTabPanel

Ext.define('MyApp.view.MyTabPanel', { 
extend: 'Ext.tab.Panel', 

config: { 
    items: [ 
     { 
      xtype: 'container', 
      title: 'Tab 1', 
      id: 'tab1', 
      items: [ 
       { 
        xtype: 'textfield', 
        label: 'User' 
       }, 
       { 
        xtype: 'container', 
        height: 46, 
        margin: '5px', 
        items: [ 
         { 
          xtype: 'button', 
          ui: 'action', 
          width: 173, 
          text: 'Send Data' 
         } 
        ] 
       } 
      ] 
     }, 
     { 
      xtype: 'container', 
      title: 'Tab 2', 
      id: 'tab2', 
      tpl: [ 
       '{id}' 
      ] 
     }, 
     { 
      xtype: 'container', 
      title: 'Tab 3', 
      id: 'tab3' 
     } 
    ] 
} 

});

0

這是我的控制器:

Ext.define('MyApp.controller.MyController', { 
extend: 'Ext.app.Controller', 

config: { 
    refs: { 
     Tab1: '#tab1', 
     Tab2: '#tab2', 
     Tab3: '#tab3' 
    }, 

    control: { 
     "Tab2": { 
      activate: 'onTabpanelActivate1' 
     } 
    } 
}, 

onTabpanelActivate1: function(newActiveItem, container, oldActiveItem, eOpts) { 
    var Rec = [{id:1}]; // this should come from my #tab1 tab and set to #tab2 tab 
    this.getTab2().setRecord(Rec); // So this is the problem I am facing 
} 

});

+0

事件雖然我想發送一些Ajax請求 - 對於我得到的JSON數據也是如此 - 但我仍然無法傳遞這些數據 – Arsalan

相關問題