2016-09-14 9 views
0

ツールバーに新しいボタンを動的に追加しようとしていますが、ツールバーコントロールのaddContentを呼び出すことができません。 UI5 controljQuery objectのような特別なタイプですか?どのようにそれにアクセスするには?UI5コントロールを取得するには?

私のコード:

$("footer").control().addContent(new sap.m.Button({ 
    text: "Disconnect" 
})) 

jsbin(jsbinでは、私がコントロールを初期化するためにJSViewを使用しますが、現実には、私が代わりにXMLViewを使用して、私のコントローラでaddContentを呼ぶ。)

参考:http://scn.sap.com/thread/3538452 https://sapui5.netweaver.ondemand.com/#docs/api/symbols/sap.m.Toolbar.html#addContent

答えて

3

SAPUI5コントロールで呼び出されるメソッドであるため、DOM要素でaddContentを呼び出すことはできません。

それは、このようなidだと、コントローラから動的にアクセスToolbarをコンテンツを追加するには、次の機能がボタンで呼び出すと、 `this`範囲が変更された場合、どのような

this.getView().byId("toolbarId").addContent(new sap.m.Button({ 
    text: "Disconnect" 
})); 
+0

? 'sap.ui.getCore()。byId( '__ xmlview0')。byId( "toolbarId")'動作しない... – Tina

+0

''あなたはpress'イベントハンドラ内の関数を呼び出す場合this'は変更されません。それ以外の場合は 'this'が変更されたとしても、常にsap.ui.getCore()。byId(" toolbarId ")'でコントロールにアクセスすることができ、これは 'sap.ui.getCore()。byId( '__ xmlview0 ').byId( "toolbarId") 'が間違っています。 'sap.ui 'の' API'で[byId()](https://sapui5.netweaver.ondemand.com/#docs/api/symbols/sap.ui.core.Core.html#byId)を見てください。 。コア。コア ' – Dopedev

+0

ありがとう、それは〜 – Tina

関連する問題