0

메뉴가있는 기본 페이지가 있습니다. 메뉴에서 "Players"섹션을 선택할 수 있습니다. 여기서 모든 팀 플레이어의 목록을 볼 수 있으며, 각 플레이어를 탭하고 자세한 정보를 볼 수 있습니다. 메인 페이지로 돌아와 다시 "플레이어"섹션으로 돌아갈 때까지 모든 것이 잘 작동하고 플레이어가 더 이상 작동하지 않으며 심지어 콘솔에 오류가 표시되지 않습니다.목록 항목을 탭하면 한 번만 작동합니다.

나는이 문제를 너무 오랫동안 해결하려고 노력 해왔고, 따라서 나는 당신의 도움이 필요합니다.

"선수"또는 사용자 컨트롤러 코드 :이 현재 컨트롤러에 포함되어 있지 않기 때문에 나는 문제의 같은 종류에 직면 할

Ext.define('HockeyTeamManagementSystem.controller.Users', { 
extend: 'Ext.app.Controller', 

config: { 
    refs: { 
     Users: 'users', 
     UserInformationTab: '#UserInformationTab', 
     AddUserButton: '#AddUser', 
     BackToMenuButton: '#BackToMenu' 
    }, 

    control: { 
     "userlist": { 
      itemtap: 'onListItemTap' 
     }, 
     "Users": { 
      backButtonCommand: 'backButtonCommand', 
      BackToMenuCommand: 'backToMenuCommand' 
     } 
    } 
}, 

onListItemTap: function(dataview, index, target, record, e, eOpts) { 
    var user = Ext.create("HockeyTeamManagementSystem.view.UserDetailTabs", { 
     title: record.data.name +" "+ record.data.lastname, 
     record: record 
    }); 
    this.getUsers().push(user); 
    this.getUserInformationTab().setData(record.data); 
    this.getAddUserButton().hide(); 
    this.getBackToMenuButton().hide(); 
}, 

backButtonCommand: function() { 
    this.getAddUserButton().show(); 
    this.getBackToMenuButton().show(); 
}, 

backToMenuCommand: function() { 
    var Dashboard = Ext.create('HockeyTeamManagementSystem.view.Dashboard'); 
    Ext.Viewport.setActiveItem(Dashboard); 
} 
}); 
+0

메인 페이지의 레이아웃은 무엇입니까? –

답변

1

것 같다, 그래서 요점은 itemtap는 구성 요소의 수명주기를 볼이에 대한 자세한 내용을 알고보기의 첫 번째 인스턴스와 연결되어있다 .

Ext.ComponentQuery.query() selector를 사용하여 생성 된 뷰의 인스턴스 수를 확인하거나 브라우저의 개발자 도구에서 확인하십시오.

먼저 파괴해야 할 때마다보기를 만들고 싶으면 만들기를하십시오.

는 항상보다는 응용 프로그램 수준에서 추가 각각의 컨트롤러에보기를 추가하는 것이 좋습니다이 문제

를 해결해야한다, 그것은 응용 프로그램의 로딩 시간을 단축해야한다.

1

, 당신은 나에게 "사용자 목록"참조 매핑을 알 수 있습니다. 문제는 "중첩 구성 요소"때문일 수 있습니다.

당신이 목록 새 인스턴스 탭마다 작성되는, 같은 코드를 보면

관련 문제