2016-07-01 14 views
0

openUI5で定義されたタイルをクリックした後に発生するルーティング関数を呼び出したいとします。タイルは次のようになります。 https://openui5.hana.ondemand.com/explored.html#/sample/sap.m.sample.TileContainer/previewOpenUI5/SAPUI5でのタイル情報へのアクセス

私の機能は起動しますが、タイルについての識別可能な情報にアクセスすることができません。

ビューのためのコード:コントローラ上のプレス機能のための

<TileContainer 
     id="container" 
     tileDelete="handleTileDelete" 
     tiles="{allalerts>/hits}" 
     > 
     <StandardTile 
      icon="{ 
         path: 'allalerts>alert_level', 
         formatter: 'systemstatus.js.TableUtils.formatStatusIcon' 
        }" 
      title="{allalerts>hostname}" 
      info="{allalerts>ip}" 
      number="{allalerts>site}" 
      press="onTileClick"/> 
</TileContainer> 

コード:

onTileClick : function(evt){ 
     jQuery.sap.log.error("Calling onTileClick..."); 
     var oTile = this.getView().byId("container"); 
     var iIndex = oTile.getInfo(); // Does not work 
     jQuery.sap.log.error("Should have an Ip: " + iIndex); 
    } 

コンソールが私に語った:

oTile.getInfo is not a function 

それが動作するはずのように思え参照後に https://openui5.hana.ondemand.com/#docs/api/symbols/sap.m.StandardTile.html

私はタイルからこの情報を取得したら、ルーティングを取得できることは知っています。ちょうど情報を取得するのに役立つ必要があります。他に必要な情報があれば教えてください。

答えて

1

あなたが例えば、あなたのハンドラに渡されたEVTパラメータを通じてタイルのタイトルへのアクセスを得ることができます。:evt.getSource().getTitle()

は、アクションでそれを見るためにthis JSBinを見てください。

+0

素晴らしい。魅力のように動作します。どうもありがとうございました。私が 'this.getView()。byId(...) 'などを呼び出す理由は、テーブルから情報を取得するときにこれと似たようなことをしたためです。これははるかに簡単です。 – landesko

関連する問題