[FlexGrid] セル内に画像を表示した場合、スクロールするとエラーが発生する

文書番号 : 82101     文書種別 : Bug
登録日 : 2017/04/04     最終更新日 : 2017/05/17

対象製品

Wijmo 5

ステータス

修正済み

詳細

下記コードのようにインラインセルテンプレートを使用し、セル内に画像を表示した場合、水平スクロールすると下記エラーが発生します。

■エラー内容
「SCRIPT5007: 未定義または NULL 参照のプロパティ '$$phase' は取得できません」

◆サンプルコード(HTML)
----------------------------------
<wj-flex-grid items-source="data">
  <wj-flex-grid-column binding="data01"></wj-flex-grid-column>

  ・・・

  <wj-flex-grid-column binding="data10">
    <img ng-src="{{$item.data10}}.png" />
  </wj-flex-grid-column>

  ・・・

  <wj-flex-grid-column binding="data20"></wj-flex-grid-column>
</wj-flex-grid>
----------------------------------

【再現手順】
1. Webブラウザのコンソール画面を表示します。
2. マウスで水平スクロールを繰り返します。
結果:コンソールに下記のエラーが表示されます。
   「SCRIPT5007: 未定義または NULL 参照のプロパティ '$$phase' は取得できません」

回避方法

この問題はバージョン5.20171.293で修正されました。
修正版の適用方法については、アップデートの方法を参照してください。

修正版を適用しない場合の回避方法は次の通りです。

下記コードのようにitemFormatterを使用し、cell引数のinnerHTMLプロパティを設定します。

◆サンプルコード(HTML)
----------------------------------
<wj-flex-grid items-source="data" item-formatter="itemFormatter">
  <wj-flex-grid-column binding="data01"></wj-flex-grid-column>

  ・・・

  <wj-flex-grid-column binding="data10"></wj-flex-grid-column>

  ・・・

  <wj-flex-grid-column binding="data20"></wj-flex-grid-column>
</wj-flex-grid>
----------------------------------

◆サンプルコード(JavaScript)
----------------------------------
$scope.itemFormatter = function (panel, r, c, cell) {
  if (panel.cellType == wijmo.grid.CellType.Cell && panel.columns[c].binding == 'data10') {
    cell.innerHTML = '<img src="' + cell.innerHTML + '.png" />'
  }
}
----------------------------------