2016-04-10 8 views
1

要素の参照IDを別のビューで取得するにはどうすればよいですか?たとえば、同じように私はView2.controller.jsの実行時に、どのように私はView1.view.xmlにある要素を取得することができますと仮定すると、以下のファイル構造(MVC)別のビューで要素の参照IDを取得する方法 - UI5

-view 
|-- View1.view.xml 
|-- View2.view.xml 
-controller 
|-- View1.controller.js 
|-- View2.controller.js 

がありますか?

+0

質問はofthen良いものではありませんし、dwonvoted取得する傾向があります。問題が存在し、思考実験を想定していない実際の例を提供してください。あなたが新しいので、[ツアー]を見てください – inetphantom

+0

モデルバインディングと(グローバル)イベントを見たいかもしれません。別のビューのコントロールにアクセスする代わりに使用できます。 – hirse

答えて

1

相対ナビゲーションを使用できます。 アブソリュートナビゲーションを使用しないでください。これは、ローカルHTMLをFioriLaunchpadに変更しても機能しなくなるためです。

コマンドは、次のとおり

コントローラ

管理オブジェクト

今、あなたはOwnerComponentにナビゲートすることができ、そしてそこに、somwhereどこかあなたの要素の集合体としての変数として保存され、ターゲット・ビューを保存されます。

IDKはあなたの意見をどのように保存しているのか、私は正しい例を教えていただけません。

0

View1.view.xmlの要素のIDが "idOfElement"であるとします。次の文を使用して、同じアプリケーションの別のビュー(View2.controller.js)にその要素の参照にアクセスすることができます。

      var elementID = sap.ui.getCore().byId("idOfElement"); 
0

例えば、私は、idはAppでidAppControlある要素を取得しようとしています。 view.xml、と私はここでMaster.controller.js

でそれをアクセスしたいが、私のソリューションです:

var ownerId = this.getView()._sOwnerId, 
rootId = this.getOwnerComponent().getManifestEntry("sap.ui5").rootView.id, 
id = "idAppControl", 
realId = ownerId + "---" + rootId + "--idAppControl", 
element = sap.ui.getCore().byId(realId); 

sOwnerIdは私有財産である、私はそれを得るためのより良い方法を見つけることができませんでした。マイmanifest.json

:彼らに "仮定すると、" と

"sap.ui5": { 
    "rootView": { 
     "viewName": "xxx.view.App", 
     "type": "XML", 
     "id": "app" // what I get in rootId 
    }, 
} 
関連する問題