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

AngularJS

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と連携して使うときなどによくつかうと便利だと思います。