我总是认为需要Angular Controllers on Directives,所以你可以“联系起来'您的域/业务逻辑指令。
现在我发现你可以直接进入DI指令。我的问题是为什么Angular团队在他们不需要的时候也会让你在指令上使用控制器?
答案 0 :(得分:1)
首先,您可以使用require
option访问父级控制器,但不能访问其指令代码。当你有多个指令合作实现某些目标时,这非常有价值。
此外,一个正确构建的控制器可以进行单元测试,而不是附加到一个元素上(你必须做的就是测试一个完整的指令),所以它更方便在某些情况下。