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

时间:2016-07-18 17:00:04

标签: angularjs angular-directive

Angular 1.5引入了components

  

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

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

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

1 个答案:

答案 0 :(得分:5)

Angular 2

组件具有视图,它是UI的一部分。 指令没有。

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

Angular 1

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