$window、$document

1916 ワード

$window
  • ngモジュールにおけるサービス
  • これは、ブラウザ端末windowのオブジェクトの参照です.Javascriptのwindowは、グローバル変数であるため、テスト可能性に問題があります.Anglarでは、私たちは常に$windowサービスを通じてそれを引用しています.したがって、テスト全体では書き換え、削除、またはシミュレーションができます.
    以下の例では、表式は、ngClickコマンドを定義するように、現在の作用領域で厳密に評価されてもよい.したがって、このような大域変数に依存する表現においては、意図しない符号化によって危険が生ずることはない.

    html and javascript
    
      angular.module('windowExample', [])
    
        .controller('ExampleController', ['$scope', '$window', function($scope, $window) {
          $scope.greeting = 'Hello, World!';
          $scope.doGreeting = function(greeting) {
            $window.alert(greeting);
          };
        }]);
    
    
    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;
    
    }]);