그래서 간단한 목록 구성 요소보기를 만들었습니다. 목록의 공개 버튼을 탭하면 해당 목록에 대한 데이터를 tpl 속성에 사용할 세부 정보보기로 푸시하는 세부 정보보기를 만드는 컨트롤러가 있습니다. 응용 프로그램 /보기/홈페이지 : 여기 Sencha Touch 2.3 : 목록보기에서 자세히보기로 데이터 푸시
내 코드입니다Ext.define ('Prac.view.Main', {
extend: 'Ext.Panel',
xtype: 'mainpanel',
requires: ['Prac.store.Names'],
config:{
layout: 'vbox',
items: [
{
xtype: 'titlebar',
docked: 'top',
title: 'Mainpanel',
items: [
{
xtype: 'button',
ui: 'confirm',
iconCls: 'add',
action: 'addName',
align: 'right'
}
]
},
{
xtype: 'list',
flex: 1,
grouped: true,
indexBar: true,
itemTpl: '{firstName} {lastName}',
store: 'Names',
onItemDisclosure: true,
}
]
}
}); 홈페이지
응용 프로그램/컨트롤러/:
Ext.define ('Prac.controller.Main', {
extend: 'Ext.app.Controller',
config: {
refs: {
view: 'viewpanel',
det: 'detail'
},
control: {
'list' : {
disclose: 'showDetail'
}
}
},
showDetail: function(list, record) {
var det = Ext.create('Prac.view.Detail', {
data: record.data
});
Ext.Viewport.setActiveItem(det);
}
});
응용 프로그램 /보기/세부 사항 :
Ext.define('Prac.view.Detail', {
extend: 'Ext.Panel',
xtype: 'detail',
config: {
items: [
{
xtype: 'titlebar',
title: 'Detail View',
docked: 'top'
},
{
xtype: 'panel',
styleHtmlContent: true,
scrollable: 'vertical',
title: 'Details',
//html: 'Hello, World!'
tpl: 'Hello {firstName} {lastName}',
data: null
}
]
}
});
나는이 문제가 범위라고 생각합니다. tpl 속성은 config가 아닌 'items'속성에 중첩되어 있으므로 구성 요소는 컨트롤러의 상세보기에 전달 된 데이터를 사용할 수 없습니다. 그래서 한보기에서 다른보기로 데이터를 밀어 넣는 방법뿐만 아니라 한보기의 데이터를 다른보기의 특정 구성 요소로 푸시하는 방법도 궁금합니다.
위대한 및 this.down() 메서드는 DOM을 조작하는 참조를 것 같습니다. – bdmike