AngularJSで$scopeオブジェクトをコントローラー外から取得して操作する

   

AngularJSでいろいろ操作するときはng-clickなどのng系のイベントを利用する必要があります。ですが、結構な頻度でng系のイベント以外のところでもscope操作がしたくなったりします。

そんな時には以下のように書きます。

function hogehoge(){
	var targetScope = angular.element(targetElement).scope();
	targetScope.$apply(function(){
		targetScope.mokomoko = "value";
	});
}
<div id="targetElement">{{mokomoko}}</div>

JQueryと連携して使うときなどによくつかうと便利だと思います。

megane

megane

最近、個人事業主から法人へと進化しました。 エンジニア歴13年位です。PHPとかMysqlを使ってWebシステムを構築します。 Javaも書きます。 CakePHPも使います。 サーバのチューニングもごりごりやります。 あと、お肉と自動車が好きです。Twitterとか申請どうぞ。

 - AngularJS