angularjs 是不是不推荐 directive 了,我看官方 demo 都不用 directive 了,用 compontent ,两者有什么区别?
1
xingo 2016-11-10 22:29:22 +08:00
component 应该是以前 controller 的地位了吧, directive 还是有的, component 应该还是低级版的 directive
|
2
beginor 2016-11-11 06:16:38 +08:00 via Android
应该说 component 是简化版的 directive ,但是具备了生命周期的概念
|
3
hantsy 2016-11-11 09:51:36 +08:00
Angular 1.5 就组件化了, 每个组件有独立的 Scope ,开发更简单。概念上接近 Angular2 ( Component 同样的 lifecycle hook ,$onInit, $onchanges, $onDestroy, etc ), 升级到 Angular2 更容易 。
https://www.v2ex.com/t/310681#reply0 |
4
hantsy 2016-11-11 09:55:38 +08:00
在 Angular 2 中,@Component 本身也是简化的 Directive ,操作的是逻辑上的视图,而 @Directive 意味更多操作 DOM Attribute (如 NgClass, NgStyle ),或者修改 DOM Structure(如 NgFor, NgIf)。
|
5
lijsh 2016-11-12 23:52:10 +08:00
可以看看这里 http://cn.vuejs.org/v2/guide/comparison.html#指令与组件
Angular 1 早期的版本并没有 component 的 API ,组件和自定义 DOM 操作都使用指令实现; v1.5 新增了 component 的概念, component 的 API 比指令更简单,不涉及到 DOM 操作,只允许以自定义元素的形式指定。 这实际上就是把以前指令中有关组件的实现拆分出来了。 |