2017-03-23 14 views
0

私はrootviewに問題があります。私は2つのビュー(ログインフォームとナビゲーションリスト付きの家)を作成したい。SAPUI5ルートビュー

これは私のホームビューです:

Home View

私は左のメニューをクリックしたとき、私は(ルートアイテム1、2、など)、(単にコンテンツと、まだメニューを示す)ショーのコンテンツ形式をしたいです。ルートビューがホームビューに設定されているが、ログインビューにメニューコンポーネント(ナビゲーションリスト)がある場合は成功です。ホームビューにロードするときにホームにルートビューを設定し、ログインビューをロードするときにルートビューをその他に設定する(ホームビューを除外する)。

Component.js:

sap.ui.define([ 
    "sap/ui/core/UIComponent" 
], function (UIComponent) { 
    "use strict"; 

    return UIComponent.extend("sap.ui.demo.Component", { 

     metadata: { 
      manifest: "json" 
     }, 

     createContent : function() { 
      // create root view 
      var oView = sap.ui.view({ 
       id : "mainContents", 
       viewName : "sap.ui.demo.template.App", 
       type : "XML", // <-- change this to JSON 
       viewData : { 
        component : this 
       } 
      }); 

      // done 
      return oView; 
     }, 

     init: function() { 
      // call the init function of the parent 
      UIComponent.prototype.init.apply(this, arguments); // calling parent UIComponents 

      // create the views based on the url/hash 
      this.getRouter().initialize();      // initializing router 
//   this.i18nModel();         // set i18n model 
     }, 

     i18nModel : function(){ 
      var i18nModel = new ResourceModel({ 
       bundleName: "sap.ui.demo.template.i18n.i18n" 
      }); 
      this.setModel(i18nModel, "i18n");    
     } 

    }); 

}); 

manifest.jsonを:

{ 
    "_version": "1.1.0", 
    "sap.app": { 
    "_version": "1.1.0", 
    "id": "sap.ui.demo.template", 
    "type": "application", 
    "i18n": "i18n/i18n.properties", 
    "title": "{{appTitle}}", 
    "description": "{{appDescription}}", 
    "applicationVersion": { 
     "version": "1.0.0" 
    } 
    }, 
    "sap.ui": { 
    "_version": "1.1.0", 
    "technology": "UI5", 
    "deviceTypes": { 
     "desktop": true, 
     "tablet": true, 
     "phone": true 
    }, 
    "supportedThemes": [ 
     "sap_hcb", 
     "sap_bluecrystal", 
     "sap_belize" 
    ] 
    }, 
    "sap.ui5": { 
    "_version": "1.1.0", 
    "rootView": 
     { 
      "viewName": "sap.ui.demo.template.Home", 
      "type": "XML", 
      "id": "app" 
     } 
    , 
    "dependencies" : { 
     "minUI5Version": "1.30", 
     "libs": { 
     "sap.ui.core": {}, 
     "sap.m": {}, 
     "sap.tnt": {}, 
     "sap.ui.layout": {} 
     } 
    }, 
    "models": { 
     "i18n": { 
     "type": "sap.ui.model.resource.ResourceModel", 
     "settings": { 
      "bundleName": "sap.ui.demo.template.i18n.i18n" 
     } 
     } 
    }, 
    "routing": { 
     "config": { 
     "routerClass": "sap.m.routing.Router", 
     "controlId": "mainContents", 
     "viewType": "XML", 
     "controlAggregation": "pages", 
     "viewPath": "sap.ui.demo.template", 
     "async": true 
     }, 
     "routes": [ 
     { 
      "pattern": "", 
      "name": "first", 
      "target": "first" 
     }, 
     { 
      "pattern": "home", 
      "name": "home", 
      "target": "second" 
     }, 
     { 
      "pattern": "page1", 
      "name": "page1", 
      "target": "page1" 
     }, 
     { 
      "pattern": "login", 
      "name": "login", 
      "target": "login" 
     }, 
     { 
      "pattern": "mainContents", 
      "name": "mainContents", 
      "target": "mainContents" 
     } 
     ], 
     "targets": { 
     "first": { 
      "viewName": "Index" 
     }, 
     "second": { 
      "viewName": "Home" 
     }, 
     "page1": { 
      "viewName": "Page1" 
     }, 
     "login": { 
      "viewName": "Index" 
     }, 
     "mainContents": { 
      "viewName": "Home" 
     } 
     } 
    } 
    } 
} 

Iホームに設定し、ルートビューの場合:

Login false

私はこれをしたい:

login true

私はAppにrootviewを設定し、ログインはtrueですがホームビューはfalseです。

アプリケーションビュー:

<mvc:View 
    xmlns="sap.m" 
    xmlns:mvc="sap.ui.core.mvc" 
    displayBlock="false"> 

    <App id="mainContents" class="blueBackground"> 
    </App> 

</mvc:View> 

どうrootviewについてこの問題を解決するには?

ありがとうございました。ボビー

答えて

0

rootviewを1つのビューに設定し、残りのビュートラバーサルをcontroller.navTo()関数で処理して、パターンも指定できます。 別のビューに移動中にクリーンアップを実行し、作成したメニューを破棄します。関連するビューを横断して再度作成する