3
A
答えて
2
(あなたはXMLビューを使用している場合は、「__xmlview42」のようなもの)あなたのコントロールの識別子は、ビューの識別子が含まれている場合は、それを抽出して呼び出すことができます。
sap.ui.getCore().byId("__xmlview42")
含まれているビューを取得します。識別子が存在しない場合は、識別子にView識別子が含まれるコントロールがあるまで、
を使用してコントロールツリーをナビゲートできます。ビューに達するまでコントロールツリーをナビゲートすることもできます。
フラグメントの場合、コンテンツが親ビューの一部になるため、これは機能しません。
4
ビューを見つけるまで親を歩くことができます。しかし、識別子に頼るべきではありません。ビューを識別するためにクラスまたはメタデータを使用します。
buttonPress: function(oEvent){
var b = oEvent.getSource();
while (b && b.getParent) {
b = b.getParent();
if (b instanceof sap.ui.core.mvc.View){
console.log(b.getMetadata()); //you have found the view
break;
}
}
}
例JSBinに。
フラグメントはコントロールツリーに追加されません。だからあなたはそれらを見つけることができません。ただし、追加されたビューを見つけることができます。
+1
長いストーリーの短い:エレガントな方法はありません...とにかく – cschuff
関連する問題
- 1. 親コントロールからContainer.DataItemを取得する方法?
- 2. 親フォームのユーザー定義コントロールからコントロールの値を取得する方法
- 3. ExtJs:コントロールの親タブを取得する方法
- 4. 子コントロールから親パネルの「名前」を取得する
- 5. 子ascxから親aspxからコントロールにアクセスする方法
- 6. ActiveXコントロール内のVS_VERSION_INFOから情報を取得する方法
- 7. 実行時にGrid.Rowからコントロールを取得する方法?
- 8. 子コントロールから完全なリソースパスを取得する方法は?
- 9. プログラムで、HyperLinkFieldコントロールからDataNavigateUrlFieldsプロパティを取得する方法
- 10. checkedlistboxコントロールのselectedvalueからインデックスを取得する方法は?
- 11. Gridviewのheadertemplateのコントロールから値を取得する方法は?
- 12. 他の子コントロールから親コントロールの子コントロールにアクセスする方法は?
- 13. 親メソッドから注釈を取得する方法は?
- 14. ポストプロセッサから親コントローラの名前を取得する方法
- 15. xtemplateから親の値を取得する方法
- 16. 親クラスから子クラス名を取得する方法
- 17. 親クラスから子クラスの値を取得する方法
- 18. 部分ビューから親ビューを取得する方法
- 19. 子供から親に状態を取得する方法
- 20. 親プロセスから子プロセスを取得する方法
- 21. 子から親HTML要素を取得する方法
- 22. コントロールのクラスから親フォームへイベントをバブルする方法
- 23. 親値を取得する方法
- 24. コンテキストメニューの親を取得する方法
- 25. LIの親を取得する方法
- 26. Silverlightコントロールからデータを取得する
- 27. 親ビュー/コントローラからasp.netコントロールの情報にアクセスする方法
- 28. 子から親にコントロールを渡す方法
- 29. 親コントロールからWPFの子孫にデータを渡す方法
- 30. 編集コントロールからテキストを取得する方法はありますか?
hm ...ビューには、コンポーネントプレフィックスが付いている可能性があります。残念ながら、フラグメント内のコントロールには、プレフィックスはなく、フラグメントからも依存したビューからでも表示されません。 – cschuff