2013-04-03 138 views
0

我想解決爲什麼當我將視圖推送到Ext.Navigation.View控件時,視圖我推送呈現,但我用它推送的數據沒有。該視圖使用一些json數據(名稱爲& surname)呈現非常簡單的DataView控件。Sencha觸摸控制器推視圖

它會工作,如果我通過「Ext.Create」顯式創建視圖(請參閱在控制器中註釋掉的行),但我確信我已經完成了這之前,你可以推動視圖的「xtype」以及該視圖的任何相關屬性/數據。我對嗎?

順便說一下,我測試了從表單提交回調返回的json,一切都很好。它似乎只是該視圖不想呈現我發送的數據作爲「推送」的一部分。這是我的代碼。我缺少的東西?:

查看:

Ext.define('MyCo.Booking.view.PatientClinicSearchResults', { 
extend : 'Ext.DataView', 
xtype : 'DataViewPatientSearchResults', 

itemTpl : '{Name}', 
store : { 
     fields : ['Name'], 
     autoLoad : true 
    } 

})

控制器:

Ext.define('MyCo.Booking.controller.Main', { 
extend: 'Ext.app.Controller', 

config: { 
    refs: { 
     navViewClinics : 'NavViewClinics', 
     formPanelClinicPatientSearch : 'FormPanelClinicPatientSearch' 
    }, 
    control: { 
     'NavViewClinics list' : { 
      itemtap : 'ClinicUserSearch' 
     }, 

     'FormPanelClinicPatientSearch button' : { 
      tap : 'ClinicPatientSearchResults' 
     } 
    } 
}, 

ClinicUserSearch : function(list, index, element, record) { 
    this.getNavViewClinics().push({ xtype : 'FormPanelClinicPatientSearch' }); 
}, 

ClinicPatientSearchResults : function(button, e) { 
    var form = this.getFormPanelClinicPatientSearch(); 
    var navClinics = this.getNavViewClinics(); 

    form.submit({ 
     success : function(form, result) { 

     // var view = Ext.create('MyCo.Booking.view.PatientClinicSearchResults', { 
     //  title : 'Search Results', 
     //  fullscreen: true, 
     //  store: { 
     //   fields: ['Name'], 
     //   data : result.items 
     //  }, 

     //  itemTpl: '<div>{Name}</div>' 
     // }); 

     // navClinics.push(view); 

     navClinics.push({ xtype : "DataViewPatientSearchResults", 
      title : 'Test', 
      store : { 
        data : result.items 
      } 
     }); 

     } 
    });   
} 

});從表單提交的回調收到

JSON:

{ 
"success" : true, 
"items" : [ 
       { 
       "Name": "Jon", 
       "Surname": "Doe" 
       }, 
       { 
       "Name": "Karl", 
       "Surname": "Doe" 
       } 
      ] 
} 

任何幫助,將不勝感激。謝謝。

回答

0

問題解決了。我從視圖中刪除了商店聲明,它工作。只需要通過itemTpl屬性引用數據。