2014年3月5日水曜日

AngularJSのng-includeで読み込まれるHTMLに対する処理はいつやるべきか?

AngularJSのng-includeで読み込まれるHTMLに対する処理はいつやるべきか?

「HTMLに対する処理」とは、document.getElementById()やjQueryなどで行うような処理だ。

そのような処理はこのようにonloadで指定したfunction内で行うといい。

<ng-include src="'modal.html'" onload="onLoadModal();"></ng-include>

ポイントはこのonLoadModal()というfunctionをどこに定義するか?

ng-clickなどで使われるfunctionと同様、こんな感じでコントローラーのスコープ内に定義する。

$scope.onLoadModal = function() {
  console.log("モーダルのHTMLが読み込まれたぜ!");
}