$window, $document

$window

  • ng模块中的服务

这是一个浏览器端 window 对象的引用. 由于Javascript 中的window是一个全局变量,它会给可测试性带来问题。在Angular中我们总会通过 $window 服务来引用它,因此在测试总它可以被改写、删除或模拟。

在下面的例子中,表达式可以像定义一个ngClick指令一样,在当前作用域被严格的评估。因此, 在这种依赖于一个全局变量表达式中,不会因为不经意的编码而带来风险。


例子

html and javascript


protractor

it('should display the greeting in the input box', function() {

 element(by.model('greeting')).sendKeys('Hello, E2E Tests');
 // If we click the button it will block the test runner
 // element(':button').click();
});

$document

  • ng模块中的服务

一个对于浏览器中的 window.document对象的jQuery 或 jqLite 封装。


依赖

$window


例子

html

$document title:

window.document title:

javascript

angular.module('documentExample', [])

.controller('ExampleController', ['$scope', '$document', 
  function($scope, $document) {

    $scope.title = $document[0].title;
    $scope.windowTitle = angular.element(window.document)[0].title;

}]);

你可能感兴趣的:($window, $document)