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の説明書をお読みください。

余分なパラメータを使用せずに、コンテナにもう1つのコントロールを追加するだけです。ドキュメントによれば、 ""パラメータを使用すると、コンテナ内の既存のものを自動的に削除できます。

"唯一の"アプローチを使用する場合、コンテナの既存のコントロールは破壊されませんので、はメモリに置かれるので、手動で破壊する必要があると思います。

+0

私はアドバイスをいただきありがとうございます。これは、ビューのみを使用して別の方法でアプローチするつもりです...ただし、既に問題は発生しています... https://stackoverflow.com/questions/46879029/sapui5-views-accessing-model-item -for-panel-header –

関連する問題