Angular中$ document和$ window.document之间有什么区别?

时间:2015-01-24 00:04:31

标签: javascript angularjs canvas

我在JSBin中尝试了以下代码,第一个可以获取canvas对象。但是,第二个不能。

JSBin:http://jsbin.com/natavejasa/1/edit?html,js,output

var canvas = $window.document.getElementById('myCanvas');

JSBin:http://jsbin.com/yareb/1/edit?html,js,output

var canvas = $document.getElementById('myCanvas');

所以我想知道$window.document$document之间的区别是什么。

3 个答案:

答案 0 :(得分:17)

$document相当于angular.element(window.document) - window.document的jqLit​​e包装。

$window.documentwindow.document相同 - 即它是DOM元素document

以下是true

$window.document === $document[0]

答案 1 :(得分:0)

$ document 是一个Angular服务,它引用浏览器的window.document对象。

<script>
   var app = angular.module('documentExample', []);
     app.controller('ExampleController', ['$scope', '$document', function ($scope,$document) {
              $scope.title = $document[0].title;
              $scope.windowTitle = angular.element(window.document)[0].title;
        }]);
 </script>

<div ng-app="documentExample" ng-controller="ExampleController">
   <p>$document title: <b ng-bind="title"></b></p>
   <p>window.document title: <b ng-bind="windowTitle"></b></p>
</div>
  • $ window.document与window.document
  • 相同

答案 2 :(得分:-5)

这没有什么不同,就像你从关卡中看到的那样。这不是它的js,但你需要删除第一美元。 从angularjs可以看出很难说。在可能的情况下,您需要使用简单的js。 这些实体是全球性的。