開発者ガイドによると、Angular 式の内部からブラウザ ウィンドウにアクセスできるはず$window
です。
名前のデフォルトがグローバル ウィンドウ プロパティである JavaScript とは異なり、Angular 式は $window を使用してグローバル ウィンドウ オブジェクトを参照する必要があります。たとえば、window で定義されている alert() を式で呼び出したい場合は、$window.alert() を使用する必要があります。
$window
ただし、 で評価された式からアクセスできないようです$scope.$eval
。コンソールにログアウトすると、次のような出力が得られます。
console.log($window); // the Window object as expected
console.log($scope.$eval('$window')); // undefined
console.log($scope.$eval('1+1')); // 2
console.log($scope.$eval('scopeVar')); // 'abc'
コントローラーには$window
依存関係があります。式からスコープ変数やその他のサービスにアクセスできますが、アクセスできない$window
ため、$scope.$eval($window.alert())
どちらも機能しません。
ここで何が欠けていますか?