I 탭 패널의 목록보기에서 다음 리스너가 있습니다뷰에 컨트롤러에서 데이터를 전달하는 방법
config: {
refs: {
mainView: "mainview",
activeLists: "activelists",
listView: "listview"
// I deleted some code for easier reading
},
control: {
activeLists: {
showListCommand: "onShowListCommand"
}
}
},
이 :
listeners: {
itemtap: function (list, index, item, e) {
var record = list.getStore().getAt(index);
this.fireEvent('showListCommand', this, record);
}
이 내 컨트롤러의 설정입니다 컨트롤러에서 모두 onShowListCommand 함수와 그 함수가 호출합니다.
onShowListCommand : function (list, record) {
this.activateListView(record);
},
slideLeftTransition: { type: 'slide', direction: 'left' },
activateListView: function (record) {
var listView = this.getListView();
listView.setRecord(record);
console.log(record.get('id'));
Ext.Viewport.animateActiveItem(listView, this.slideLeftTransition);
},
콘솔 로그는 예상대로 작동합니다. 탭 된 목록 항목의 ID를 기록합니다. 또한 setRecord 함수가 작동하는지, listView의 양식 텍스트 필드 안에 모델의 제목, ID 및 예산 필드를 모두 표시합니다.
이제 지난 10 시간 동안이 모델 필드를 listView 에 전달하고 제목 또는 HTML과 같이 양식 외부에서 사용할 수있게되었습니다. 기본적으로 탭 패널 안에 목록이 있고 itemtap에 Ext.Viewport.animateActiveItem을 사용하여 다른보기가 표시됩니다.
ListView는 "Ext.form.Panel"이며 현재 도구 모음과 initialize() 함수를 통해 필드 세트가 있지만 일부 일반 HTML로 필드 세트를 바꾸고 싶지만 setRecord의 데이터를 사용할 수는 없습니다.() 어떠한 방식으로.
문제가 해결 된 것으로 보이도록 본인의 답을 수락하는 것을 고려해보십시오. – zelexir
물론 :) 그것은 말합니다 : '당신은 내일 당신의 대답을 받아 들일 수 있습니다.' –