外部の JavaScript 関数 (ターゲット コントローラーとはまったく関係ありません) を介してコントローラーの内部スコープにアクセスする簡単な方法があるかどうかを確認しようとしています。
ここで他の質問をいくつか見てきましたが
angular.element("#scope").scope();
DOM 要素からスコープを取得しますが、現在のところ私の試みでは適切な結果が得られません。
jsfiddle は次のとおりです:http://jsfiddle.net/sXkjc/5/
現在、プレーン JS から Angular への移行を進めています。これを実現しようとしている主な理由は、元のライブラリ コードを可能な限りそのまま維持し、各関数をコントローラーに追加する手間を省くためです。
これを実現する方法について何かアイデアはありますか? 上記のフィドルに関するコメントも歓迎します。
ベストアンサー1
使用する必要がある$スコープ。$適用()jQuery/JavaScript イベント ハンドラーのような AngularJS の制御外からスコープ値を変更する場合。
function change() {
alert("a");
var scope = angular.element($("#outer")).scope();
scope.$apply(function(){
scope.msg = 'Superhero';
})
}
デモ:フィドル