Angular为我们提供了一种编写指令的机制 - 它的功能非常强大.但我一直想知道的是 - 在什么情况下你应该实际编写自己的自定义指令.
我们不断看到Stack Overflow及其周围的问题,各种各样的人试图编写指令(我认为)不需要首先编写.在大多数情况下,它们可以通过重复,切换和显示的组合来解决.请参阅包含我认为不应该是指令的指令的问题示例!
angularjs:在ui-bootstrap模式中使用指令
一些示例场景.无论如何我都不会选择它们.因为我确信当我们应该使用/编写指令时,任何人都不清楚.
我们看到人们使用指令作为模板机制的场景.这是正确的做事方式吗?或者,还有更好的方法?(ng-include可能?)使用指令作为模板机制是否有任何好处/缺点?这个问题的原因是有时候我想知道人们是否编写指令因为来自jquery世界他们能想到的第一件事就是编写DOM操作代码,因为Angular方法是不操纵控制器中的DOM所有都倾向于写作指令中的所有代码.
编辑:
我相信这种混淆(在指令中推送内容)会产生,因为Angular没有单独的"视图"概念 - 不像Backbone(它只有一个"视图"但没有组件!).指令在定义组件方面是惊人的 - 但我认为如果你使用它们创建"视图",你将失去一些"有角度"的方式.这是我的意见 - 这就是为什么我要征求其他角度社区的想法.
简单指令(只做一件事的指令!)的好处是它们绝对容易测试.如果你看看所有的ng指令,他们都会做一件事并做得很好.
在Angular中定义可重用"视图"(不是组件!)的最佳方法是什么?这应该写在指令中吗?或者,还有更好的方法?
如果其中一个Angular Dev在这件事上有意见,那就太棒了!