我在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
之间的区别是什么。
答案 0 :(得分:17)
$document
相当于angular.element(window.document)
- window.document
的jqLite包装。
$window.document
与window.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>
答案 2 :(得分:-5)
这没有什么不同,就像你从关卡中看到的那样。这不是它的js,但你需要删除第一美元。 从angularjs可以看出很难说。在可能的情况下,您需要使用简单的js。 这些实体是全球性的。