Misko は (明らかに) 正しい答えを出しましたが、初心者の中にはさらに単純化する必要があるかもしれません。
レガシー アプリ内から AngularJS コードを呼び出す場合は、AngularJS コードを、レガシー アプリケーションの保護されたコンテナー内に存在する「マイクロ アプリ」と考えてください。これを直接呼び出すことはできませんが (非常に正当な理由により)、$scope オブジェクトを介してリモート呼び出しを行うことはできます。
$scope オブジェクトを使用するには、$scope のハンドルを取得する必要があります。幸いなことに、これは非常に簡単に行うことができます。
AngularJS の「マイクロアプリ」HTML 内の任意の HTML 要素の ID を使用して、AngularJS アプリ $scope のハンドルを取得できます。
例として、AngularJS コントローラー内で sayHi() や sayBye() などの関数をいくつか呼び出したいとします。AngularJS HTML (ビュー) には、id "MySuperAwesomeApp" の div があります。次のコードを jQuery と組み合わせて使用すると、$scope のハンドルを取得できます。
var microappscope = angular.element($("#MySuperAwesomeApp")).scope();
これで、スコープ ハンドルを介して AngularJS コード関数を呼び出すことができます。
// we are in legacy code land here...
microappscope.sayHi();
microappscope.sayBye();
より便利にするために、関数を使用して、アクセスしたいときにいつでもスコープ ハンドルを取得できます。
function microappscope(){
return angular.element($("#MySuperAwesomeApp")).scope();
}
呼び出しは次のようになります。
microappscope().sayHi();
microappscope().sayBye();
ここで実際の例を見ることができます:
http://jsfiddle.net/peterdrinnan/2nPnB/16/
これは、Ottawa AngularJS グループのスライドショーでも示しました (最後の 2 つのスライドにスキップしてください)。
http://www.slideshare.net/peterdrinnan/angular-for-legacyapps