Ответ 1
Если вам нужно получить доступ к элементу body из директивы, применяемой к другому элементу, вы можете использовать $document сервис вроде так..
app.directive("myDirective", function($document) {
return function(scope, element, attr) {
var bodyWidth = $document[0].body.clientWidth;
console.log("width of body is "+ bodyWidth);
};
});
<button my-directive>Sample Button</button>
Вы также можете использовать методы обхода DOM, предоставляемые в jqLite (хотя они намного менее мощны, чем предлагает jQuery). Например, вы можете сделать рекурсивный поиск, используя метод angular.element.parent()
, чтобы найти тег body.