我知道这个话题已多次讨论,但我还不太确定我是否做得对..
许多在线资源都将指令作为角度应用程序的构建块,同时许多资源都强调组件的可重用性。无论如何,根据我构建典型应用程序的经验,没有太多东西可以重复使用,通常每个组件都有单一角色,并且它在单个位置使用。正如我理解angular,其中一个主要概念是提供语义DOM,为了实现这一点,我们可以使用指令。因此,当我构建一个角度应用程序时,我通常创建一组指令并将它们组合在视图中。
在大多数情况下,在我的应用程序中,所有DOM操作都可以使用build in指令完成。我的大多数指令都有模板和控制器,我不需要使用链接功能。在互联网上的大多数资源中,我可以读到在创建指令时我应该使用链接功能。但这似乎是更加复杂的代码......如果我不需要任何超出内置指令的花哨DOM操作,那么链接功能的好处是什么?
tldr;我使用带控制器的指令构建我的应用程序并将它们放入视图中,这是一种正确的方法吗?
答案 0 :(得分:0)
我已经在Angular上开发了一年以上的企业级应用程序,如果你不止一次使用同一个元素,我的团队已经达到了创建指令的标准。它节省了时间,节省了DOM的麻烦,并且可以轻松创建单独的,可测试的代码片段。
我们已经为使用ng-repeat的许多商品创建了指令。几乎每个ng-repeat都重复一个指令,在我们的元素中创建真正的隔离范围'功能。它是AngularJS中最强大的功能之一,当完成正确并符合面向对象编程的标准时,您可以真正使您的应用程序最佳地使用抽象。 Here's a wiki link on abstraction.