2017-10-21 11 views
0

내보기에서 구성 요소를 사용하여 자리 표시 자 div를 설정할 수 있습니다.SAPUI5 새로 고침시보기 만 지켜보고, 뷰 내용을 다시 초기화하려면 어떻게해야합니까?

<mvc:View xmlns:core="sap.ui.core" xmlns:mvc="sap.ui.core.mvc" xmlns="sap.m" xmlns:html="http://www.w3.org/1999/xhtml" 
controllerName="CompleteSurvey.controller.CompleteSurvey"> 
<App> 
    <pages> 
     <Page title="{view>/surveyInfo/Name}"> 
      <content> 
       <Text class="sapUiSmallMargin" text="{view>/siteInfo/SearchString}" id="__title0" width="auto" textAlign="Center"/> 
       <core:HTML content="<div id="panelContent"><div>"></core:HTML> 
      </content> 
     </Page> 
    </pages> 
</App> 

나는 그 컨트롤러의 compenents를 생성하고 "panelContent"에서

var oPanel = new sap.m.Panel({ 
expandable: true, 
expanded: false, 
headerText:oData.results[0].CategoryDesc 
id: "Panel" + oViewData.surveyInfo.SurveyId + index 
}); 

oPanel.placeAt("panelContent"); 

일 잘 처음에 그들을 배치, 또는 내가 페이지를 새로 고치면하고 있습니다.

그러나 단순히 "뒤로"키를 누른 채로 다시 들어가면 "panelContent"내의 콘텐츠가 지워지지 않고 원래의 패널과 다른 패널이 만들어집니다.

알려 주시기 바랍니다 ....

답변

1

당신은 용어 "구성 요소"를 사용하지만 내가 그렇게 그들을 혼합하지 마십시오, 그러나 UI5의 용어는 "구성 요소가"너무 거기, 당신이 UI5 컨트롤에 대해 얘기 추측 , 그들은 다른 것들입니다.

설명 된 동작이 정확합니다. "placeAt"방법 here의 설명서를 읽으십시오.

추가 매개 변수없이 컨테이너에 하나 이상의 컨트롤을 추가하기 만하면됩니다. 설명서에 따르면 ""매개 변수를 사용하여 컨테이너 내의 기존 항목을 자동으로 제거 할 수 있습니다.

"유일한"접근 방식을 사용하는 경우 컨테이너 의 기존 컨트롤이 깨지지 않으므로이 메모리에 저장되므로 수동으로 삭제해야한다고 생각합니다.

+0

조언을 주셔서 감사합니다. 전적으로보기를 사용하여 다르게 접근 할 것입니다 ... 이미 문제는 발생합니다 ... https://stackoverflow.com/questions/46879029/sapui5-views-accessing-model-item -for-panel-header –