내 Sencha Touch 2 앱을 최적화 할 때 여러 번이 문제에 직면했습니다.Ext.Component를 전역 변수로 선언 할 수 있습니까?
DOM을 가중치로 유지해야한다는 것은 분명합니다. 내 응용 프로그램은 Ext.TabBar
이고 위의 내용은 Ext.Container
입니다. 보기에서 다른보기로 전환 할 때마다 현재보기를 제거하고 해당보기에 새보기를 추가하기 만하면됩니다.
그러나 문제는 맞춤 데이터이있는보기가 있다는 것입니다. 나는 그들이 HTML 컨텐트, 필터링 된 저장소 레코드 등과 같은 내부 데이터를 가지고 있음을 의미합니다. 기본 컨테이너에서 데이터를 제거하면 "상태"를 전역 변수에 저장하려고합니다. 예를 들어, 세부 정보가 포함 된 제품이 포함 된 상거래 앱입니다. 제거 세부 홈페이지 컨테이너에서 패널, 나는 이런 식으로 뭔가하고 싶은 경우 :
var saved_detail_panel = mainContainer.getActiveItem();
을 내가 그렇게 할 수 있다면 다시 주요 컨테이너에 그 세부 사항 패널을 추가 할 때, 나중에, 나는 간단하게 사용할 수 있습니다
mainContainer.add(saved_detail_panel);
여러 번 시도했지만 아직 작동하지 않습니다.
어떤 도움을 주셔서 감사합니다. 고맙습니다. 나는 컨트롤러 내 이벤트 처리기에서이 코드를 삽입하면 :
는 업데이트 는
var temp = Ext.create('taxi.view.location.LocationPanel', {showAnimation: null});
taxi.main_container = temp;
그것은 잘 작동하지만 성능이 좋은하지 않습니다.
launch: function(){
var temp = Ext.create('taxi.view.location.LocationPanel', {showAnimation: null});
};
을 만 컨트롤러에서 이것을 사용 : 내가하고 싶은 것은이 같은 단지 내 app.js에 한 번 만드는 것입니다
taxi.main_container = temp;
이 처음으로 작동 . 하지만 두 번째로 다음 오류가 표시됩니다.
Uncaught TypeError: Cannot call method 'replaceCls' of null
원더가이 하나의 같은 ST2 버그가 있다면 : http://www.sencha.com/forum/showthread.php?189025-Calling-Ext.Msg.show-with-items-second-time- 오류가 발생했습니다 ... sencha-touch-all-debug.js에서 replaceCls를 약 20 회 호출합니다. Chrome 스택 트레이스에서 어느 것이 호출되는지 확인할 수 있습니까? –
내 나쁜데, 나는 그 핵심 소스를 역 추적하고 디버깅 할만큼 충분히 참을성이 없다. (... ... 일종의 this를 사용하여 임시 해결책을 찾았을 때조차도 : mainContainer.add ({xtype : 'LocationPanel ', showAnimation : null});'여전히 Chrome dev 도구에 이상한 오류가 표시됩니다. Uncaught TypeError :'dom of null '속성을 읽을 수 없습니다. –