Angular 基础教程: 指令简介及自定义指令

组件与指令之间的关系

image

再看一下核心源代码里面的内容:

image

根据 Angular 官方文档的描述,Angular 里面有 3 种类类型的指令:

  • Component 是 Directive 的子接口,是一种特殊的指令,Component 可以带有 HTML 模板,Directive 不能有模板。
  • 属性型指令:用来修改 DOM 元素的外观和行为,但是不会改变 DOM 结构,Angular 内置指令里面典型的属性型指令有 ngClass、ngStyle。如果你打算封装自己的组件库,属性型指令是必备的内容。
  • 结构型指令:可以修改 DOM 结构,内置的常用结构型指令有 ngFor、ngIf 和 NgSwitch。由于结构型指令会修改 DOM 结构,所以同一个 HTML 标签上面不能同时使用多个结构型指令,否则大家都来改 DOM 结构,到底听谁的呢?如果要在同一个 HTML 元素上面使用多个结构性指令,可以考虑加一层空的元素来嵌套,比如在外面套一层空的 <ng-container></ng-container>,或者套一层空的 <div>

有了组件为什么还要指令?

还有 81% 的精彩内容
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
支付 ¥1.99 继续阅读