AngularJS服务中的DOM操作

前端之家收集整理的这篇文章主要介绍了AngularJS服务中的DOM操作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
众所周知,当使用AngularJS时,必须在指令中操作DOM元素。

然而,似乎在某些使用情况下,操作服务中的DOM是可以接受的。
Misko Hevery正在谈论这个here.你也可以找到一个例子在Bootstrap UI Dialog

Misko的解释是相当模糊的,所以我想知道你如何确定什么时候你需要把DOM放在一个服务而不是一个指令。

根据定义的方式,指令始终附加到DOM节点。因此,当您定义指令时,它会“扩展”或替换它所连接的DOM节点。

在某些情况下(如对话框),您将无法将DOM节点附加到任何特定的父级。在这些情况下,使用服务是有意义的,并且控制器仍然可以保持在DOM位之外,因为DOM操作将被封装在服务中。

弹出窗口可能是另一种情况,我们可以使用一个服务,但不像一个对话框,一个弹出窗口附加到一个DOM节点。所以,即使是稍微一个灰色区域。

所以,一个基本的和简单的测试是,“这个DOM操作代码可以附加到DOM节点吗?如果是,那么指令。如果没有,那么服务。

对话框和自定义确认框是您将使用服务的典型示例。

原文链接:https://www.f2er.com/angularjs/145378.html

猜你在找的Angularjs相关文章