compontent与directive的区别

compontent与directive的区别

总体分析

compontent独有的属性

  1. bindings

directive独有的属性

  1. compile function
  2. link function
  3. priority
  4. replace
  5. restrict
  6. scope
  7. terminal

共有的属性

  1. transclude
  2. templateUrl
  3. require
  4. controllerAs
  5. controller

不同之处

1. 创建方式与使用方式不同

  1. component第二个参数直接跟一个配置对象,而directive要跟一个函数
  2. component只能以标签的形式来进行使用,而directive可以使用restrict声明多种使用方式

2. 模板的使用不同

  1. directive当模板来使用的时候,无论template还是templateUrl都必须只有一个根元素,但是component却不是
  2. 且在controller中接收传递的值的时候component一般结合钩子函数函数使用,但是directive一般不会使用钩子函数

3. 作用域隔离

  1. directive是否创建隔离作用域可以由scope属性来决定,而component一旦创建就会创建隔离作用域

4. require不同

  1. directiverequire的值可以是,且称为link函数的第四个参数
    1. 字符串
    2. 数组(多个时)
  2. componentrequire是一个对象,在controller中通过this.key来进行使用,也需要通过钩子函数进行初始化

博客参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值