(1) 传统方式开发的应用
    一个网页通常包括三部分:结构(HTML)、样式(CSS)、交互(JavaScript)
    image.png
    传统应用存在的问题:
    1 关系纵横交织,复杂,牵一发动全身,不利于维护。
    2 代码虽然复用,但复用率不高。

    (2) 组件化方式开发的应用
    image.png
    使用组件化方式开发解决了以上的两个问题:
    1 每一个组件都有独立的 js,独立的 css,这些独立的 js 和 css 只供当前组件使用,不存在纵横交错。 更加便于维护。
    2 代码复用性增强。组件不仅让 js css 复用了,HTML 代码片段也复用了(因为要使用组件直接引入组件即可)。
    (3) 什么是组件?
    1 组件:实现应用中局部功能的代码和资源的集合。凡是采用组件方式开发的应用都可以称为组件化用。
    2 模块:一个大的 js 文件按照模块化拆分规则进行拆分,生成多个 js 文件,每一个 js 文件叫做模块。凡是采用模块方式开发的应用都可以称为模块化应用。
    3 任何一个组件中都可以包含这些资源:HTML CSS JS 图片 声音 视频等。从这个角度也可以说明组件 是可以包括模块的。
    (4) 组件的划分粒度很重要,粒度太粗会影响复用性。为了让复用性更强,Vue 的组件也支持父子组件嵌套使用。
    image.png
    子组件由父组件来管理,父组件由父组件的父组件管理。在 Vue 中根组件就是 vm。因此每一个组件也是一个 Vue实例。