2017-01-05 5 views
0

私はテーブルの行を取り込むファクトリ関数を持っています。各行に対して、各セルのアイコンを作成するColumnListItemを作成します。これは正常に動作します。コントローラの深い内部に作成されたアイコンにEvenhandlerを添付する

しかし、「名前付き」機能を追加することはできません。アイコンをクリックすると、「オブジェクトはプロパティまたはメソッド 'call'をサポートしていません」というエラーが表示されます。 誰も私にこれを行う方法を教えてもらえますか?私は各アイコンのコードを繰り返したくないので、名前付き関数が必要です。

コントローラの「this」が深い内部で利用できないため、問題があると思います。私は正しい?

populateItems1 : function(sId, oContext) { 
      var row = new ColumnListItem(sId, { 
       cells : [ new Icon({ 
        src : { 
         path : "row>col", 
         formatter : function(value) { 
          switch (value) { 
           case "1": 
            return "sap-icon://sys-cancel"; 
                  default: 
            return "sap-icon://sys-help"; 
          } 
         } 
        }, 
        color : { 
         path : "row>col", 
         formatter : function(value) { 
          switch (value) { 
           case "1": 
            return "Critical"; 
           default: 
            return "black"; 
          } 
         } 
        }, 
        size : "1.5em", 
        press: ".onIconPress" // this does not work 
       }) ] 
      }); 

      return row; 
     }, 

onIconPress : function(oEvent) { 
      console.log("Info : "); 
     } 

乾杯、 Shailesh

答えて

0

私はそれを自分で修正することができ -

は下記のコントローラで私のファクトリメソッドおよびイベントハンドラメソッドです。私は非常に明白と基本的な何かをしようとする前に、あまりにも早くそれを投稿:

press: [this.onIconPress] 

私が間違ってそれを取り付けました。

関連する問題