我正在努力学习AngularJS。我正在阅读https://github.com/angular/angular.js/wiki/Understanding-Directives:“你不必在jQuery()中包装AngularJS元素”
AngularJS元素是什么意思?
在Jquery中,如果我有一个DOM元素,比如使用document.getElementByID()
,如果我想让它成为一个jquery元素,可以访问它所有很棒的函数,我会简单地说
var domElement = document.getElementByID("elemID");
var $domElement = $(domElement); (To cache the element)
因此,如果在角度中我不必像Jquery那样包装DOM元素,那么我可以简单地查询DOM并访问它并仍然能够访问所有角度方法。 如果是这样,怎么做?是因为ng-app绑定吗? Angular内部访问ng-app中的所有DOM元素并转向等效的AngularJS元素吗?
答案 0 :(得分:2)
wiki页面讨论了Angular传递的元素作为指令的编译和链接函数的参数:
link: function LinkingFunction($scope, $element, $attributes) { ... }
^-- here
如果使用document.getElementById()
从DOM获取元素,它将不会自动包装在jQuery中。