我什么时候应该使用组件而不是指令?

ada*_*ort 3 angularjs angular-directive

Angular 1.5引入了组件:

在Angular中,Component是一种特殊的指令,它使用更简单的配置,适用于基于组件的应用程序结构.

我似乎没有找到使用它们而不是指令的任何优点.据我所知,它们具有更少的功能(例如,没有更多compilelink功能),并引入了一些略有不同的语法.

使用它的文档因为它"更简单"并且有助于过渡到Angular 2,但我们仍然在Angular 2中有指令,对吧?有什么理由我应该将我的指令转换为我的Angular 1.5应用程序中的组件吗?

Shl*_*saf 5

Angular 2

Component具有视图,它是UI的一部分.指令没有.

这很简单,如果你的元素有一个视图/模板,那么它就是一个组件.如果它只需要保持元素,更改属性,注册到事件 - >指令.

角度1

在角度1中,组件是指令的外观.换句话说,组件(角度为1.5+)是用于创建指令的工厂.使用组件是最佳实践,因为它以"正确"的方式创建指令.Angular1中的指令是超级可配置的,并且有很多选项导致实现不良和角度差的PR :)所以添加组件是为了帮助开发人员以正确的方式创建指令(没有范围,一致的控制器等等). .)