2016-03-10 58 views
1

我是Angular的新手,我理解它的一个“规则”是控制器中不应该存在DOM操作。我听说很多开始使用Angular的人并没有完全理解这一点,并最终将JS代码直接写入他们的应用程序中,我的理解是如果你正在编写一个Angular应用程序,你应该完全忘记普通的JavaScript。在AngularJS中包装第三方插件的地方?

我发现为了在Angular应用程序中使用第三方插件或常规JS脚本,将它包装在一个对象中。我已经读过,通常这是通过在指令或服务中包装脚本来完成的。

所以,我有几个问题:

  1. 什么是思考一个指令或作为包装服务之间进行选择时的主要问题?

  2. 在使用指令或服务作为包装器之间是否存在主要的性能和/或维护问题?

我怀疑,如果你正在做的,你会在那种情况下使用服务的任何HTTP请求,那就是我知道当你可以使用一个服务作为包装对象

回答

2

你的唯一的事情应该使用指令。在他们的定义中,他们有一个接收函数的链接属性。该指令模板在DOM中呈现后执行。所以在这个函数里面你可以访问指令模板中的任何元素。

记住:如果你打算做一些DOM操作,你应该只在指令的连接器函数中执行它来呈现你正在操作的DOM。

您可以在https://docs.angularjs.org/guide/directive

中了解更多关于创建自定义指令的信息
相关问题