Angularjs 什么时候应该使用组件而不是指令?
第1.5节介绍: 在Angular中,组件是一种特殊的指令,它使用更简单的配置,适用于基于组件的应用程序结构 与指令相比,我似乎找不到使用它们的任何优势。据我所知,它们的功能较少(例如不再有Angularjs 什么时候应该使用组件而不是指令?,angularjs,angular-directive,Angularjs,Angular Directive,第1.5节介绍: 在Angular中,组件是一种特殊的指令,它使用更简单的配置,适用于基于组件的应用程序结构 与指令相比,我似乎找不到使用它们的任何优势。据我所知,它们的功能较少(例如不再有compile或link函数),并且引入了一些稍微不同的语法 使用它的文档是因为它“更简单”,并且有助于过渡到Angular 2,但是Angular 2中仍然有指令,对吗?有什么理由我应该在Angular 1.5应用程序中将指令转换为组件吗 角度2 组件具有视图,它是UI的一部分。 指令不起作用 这很简单,如
compile
或link
函数),并且引入了一些稍微不同的语法
使用它的文档是因为它“更简单”,并且有助于过渡到Angular 2,但是Angular 2中仍然有指令,对吗?有什么理由我应该在Angular 1.5应用程序中将指令转换为组件吗 角度2
组件具有视图,它是UI的一部分。
指令不起作用
这很简单,如果您的元素有一个视图/模板,那么它就是一个组件。
如果它只需要获取元素,那么将attribtues、register更改为events->directive
角度1
在angular 1中,组件是指令的外观。换句话说,组件(角度1.5+)是用于创建指令的工厂。使用组件是最佳实践,因为它以“正确”的方式创建指令。Angular1中的指令是超级可配置的,并且有很多选项,这会导致angular的实现和PR较差:)因此添加该组件是为了帮助开发人员以正确的方式创建指令(无作用域、一致的控制器as等)。我应该提到我没有使用angular 2。这个答案适用于角度1.5吗?不,这个答案只适用于角度2。在angular 1中,组件是指令的
facade
。换句话说,组件(角度1.5+)是用于创建指令的工厂。使用组件是最佳实践,因为它以“正确”的方式创建指令。Angular1中的指令是超级可配置的,并且有很多选项,这会导致angular2的实现差和PR差:),因此添加该组件是为了帮助开发人员以正确的方式创建指令(无范围、一致的控制器as等)。与其提及,不如删除angular2
标记。