根据开发人员指南,我应该能够从 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())
也不起作用。
我在这里想念什么?