В AngularJS я заметил, что контроллер вводится $element
, который представляет собой оболочку JQuery/JQLite элемента, контролируемого контроллером. Например:
<body ng-controller="MainCtrl">
Затем вы можете получить доступ к элементу body в контроллере, введя $element
app.controller('MainCtrl', function($scope, $element) { ...
Это можно увидеть в этот Plunkr.
И, похоже, это подтверждается как преднамеренная функция в docs для компиляции.
Мои вопросы:
-
В свете различных руководств и руководств, которые предполагают, что вам не следует обращаться к DOM в контроллере, почему это возможно?
-
Есть ли какой-либо небедово используемый вариант для этого?
-
Есть ли примеры того, что это где-то используется в доступном коде?
Спасибо.