AngularJS服务中的DOM操作
发布时间:2020-12-17 08:31:01 所属栏目:安全 来源:网络整理
导读:众所周知,当使用AngularJS时,必须在指令中操作DOM元素。 然而,似乎在某些使用情况下,操作服务中的DOM是可以接受的。 Misko Hevery正在谈论这个here.你也可以找到一个例子在Bootstrap UI Dialog。 Misko的解释是相当模糊的,所以我想知道你如何确定什么时
众所周知,当使用AngularJS时,必须在指令中操作DOM元素。
然而,似乎在某些使用情况下,操作服务中的DOM是可以接受的。 Misko的解释是相当模糊的,所以我想知道你如何确定什么时候你需要把DOM放在一个服务而不是一个指令。
根据定义的方式,指令始终附加到DOM节点。因此,当您定义指令时,它会“扩展”或替换它所连接的DOM节点。
在某些情况下(如对话框),您将无法将DOM节点附加到任何特定的父级。在这些情况下,使用服务是有意义的,并且控制器仍然可以保持在DOM位之外,因为DOM操作将被封装在服务中。 弹出窗口可能是另一种情况,我们可以使用一个服务,但不像一个对话框,一个弹出窗口附加到一个DOM节点。所以,即使是稍微一个灰色区域。 所以,一个基本的和简单的测试是,“这个DOM操作代码可以附加到DOM节点吗?如果是,那么指令。如果没有,那么服务。 对话框和自定义确认框是您将使用服务的典型示例。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |