Javascript 如何在angularJS中使用$document服务?
一般来说,我对JS中的angularJS非常陌生,对于使用$document我有点困惑。据我所知,$document公开了一些JQuery函数。因此,当我要删除与选择器匹配的元素时,我会执行以下操作:Javascript 如何在angularJS中使用$document服务?,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,一般来说,我对JS中的angularJS非常陌生,对于使用$document我有点困惑。据我所知,$document公开了一些JQuery函数。因此,当我要删除与选择器匹配的元素时,我会执行以下操作: $document.remove('.someClassSelector'); 元素应该从DOM树中删除,对吗?如果不是,那么正确的方法是什么来操作DOM元素及其css呢 AngularJS嵌入了Jquery(jqLite)的lite版本 如果只想使用jqLite(不嵌入jquery),可以
$document.remove('.someClassSelector');
元素应该从DOM树中删除,对吗?如果不是,那么正确的方法是什么来操作DOM元素及其css呢 AngularJS嵌入了Jquery(jqLite)的lite版本 如果只想使用jqLite(不嵌入jquery),可以执行以下操作删除该元素:
angular.element(yourElement).remove()
$document
是window.document的jqLite快捷方式
请参阅:隐藏/显示DOM元素的更常见的“角度方式”是在HTML中使用and/or指令--“声明”它们(因此页面上的以下语句:
Angular是建立在声明性代码更好的信念之上的
而不是在构建UI和将软件组件连接在一起时必须这样做
类似地,要添加/删除CSS类,请以声明方式使用该指令。对模型的更改(即$scope属性)应驱动CSS类的隐藏/显示和添加/删除
如果您需要更复杂的东西,可以将DOM操作放到自定义中,通常在link函数中
在jQuery世界中,我们考虑触发DOM操作代码的事件(例如,对某个元素调用remove())。在AngularJS世界中,我们想考虑触发模型更改的事件,然后根据声明性HTML自动触发UI更改(例如,ng单击设置一个$scope属性,该属性与元素上的ng显示相关联)。我仍在调整思路
对于大多数AngularJS应用程序,您不需要使用$document。啊,对不起,误解了这个问题。AngularJS嵌入了Jquery的lite版本(Jquery lite)。如果您只想使用Jquery lite(不嵌入Jquery),您可以这样做:angular.element(yourElement).remove()$document是一个jquery lite窗口的快捷方式。document请看:是的,这正是我要问的。请更新您的答案以接受它。Angular Documents不是很清楚,或者至少对像我这样的JS新手来说不是。这在解释
$document
的目的时是正确的。但是,正如另一张海报所指出的,它对我们更好对于这类事情,eng show
、ng hide
或ng class
。