创建自定义angularJs指令以生成模块化代码

时间:2014-04-29 05:09:59

标签: angularjs angularjs-directive

我是AngularJs的新手。我有一个div部分和一些与div元素相关的jquery代码。我计划部分编写此代码并创建自定义指令。这是好设计吗? angular还提供了这样的灵活性,可以在angular指令中包含纯jquery代码吗?

2 个答案:

答案 0 :(得分:1)

在viewcontrollers中使用jQuery代码很臭。

使用指令将jquery代码应用于元素是最好的方法。 该逻辑应与控制器隔离,以便可能将指令应用于许多元素。

如果你需要从指令到viewcontroller进行通信,那么有些东西会再次发臭。 (允许回调)

jQuery是一个全局变量,所以是的,你可以在该指令中使用jquery。

linkcontroller函数确实传递了$element参数,该参数是对该指令应用的html元素的引用。这个$element变量已经用jquery包装。所以你可以做$element.attr("...")或其他什么。

答案 1 :(得分:0)

在控制器中使用Jquery代码会产生以下问题:
1)内存泄漏。
2)Dom操作不应存在于控制器,服务或其他任何地方,而应存在于指令中 3)DOM操作在Angular范围之外 - 因此,如果有任何对后端的调用,则需要添加一个附加步骤,将该信息附加到图书列表数组。
因此,编写指令来编写Jquery代码是一种好习惯。
请参阅Best Practice - Dom Manipulations