V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
oliver34
V2EX  ›  JavaScript

angularjs component

  •  
  •   oliver34 · 2016-11-10 14:02:52 +08:00 · 2315 次点击
    这是一个创建于 2724 天前的主题,其中的信息可能已经有所发展或是发生改变。

    angularjs 是不是不推荐 directive 了,我看官方 demo 都不用 directive 了,用 compontent ,两者有什么区别?

    5 条回复    2016-11-12 23:52:10 +08:00
    xingo
        1
    xingo  
       2016-11-10 22:29:22 +08:00
    component 应该是以前 controller 的地位了吧, directive 还是有的, component 应该还是低级版的 directive
    beginor
        2
    beginor  
       2016-11-11 06:16:38 +08:00 via Android
    应该说 component 是简化版的 directive ,但是具备了生命周期的概念
    hantsy
        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
    hantsy
        4
    hantsy  
       2016-11-11 09:55:38 +08:00
    在 Angular 2 中,@Component 本身也是简化的 Directive ,操作的是逻辑上的视图,而 @Directive 意味更多操作 DOM Attribute (如 NgClass, NgStyle ),或者修改 DOM Structure(如 NgFor, NgIf)。
    lijsh
        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 操作,只允许以自定义元素的形式指定。

    这实际上就是把以前指令中有关组件的实现拆分出来了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   955 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 22:11 · PVG 06:11 · LAX 15:11 · JFK 18:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.