以.vue为后缀的文件,成为SFC(单文件组件[一个文件就是一个组件])

    • SFC 【Single File Component】构成[?表示可有可无]
      • template
        • jsx
      • script?
      • style? ```vue

    1. style 有两个属性 `lang` 表示选择那种css语言`scoped` 组件局部样式<br />有scoped 表示组件局部样式【只在当前组件生效果】<br />无scoped 表示全局样式【】
    2. > 总结:App组件中不加scoped属性 其他组件必须加scoped属性
    3. - 父子组件嵌套(引入其他组件)书写 css样式文件引入
    4. 案例:将Tab1Tab2组件引入App组件中,让他们形成父子组件结构<br />在父组件的script标签中使用 `import` 组件名 `from` '组件路径'导入子组件,最后通过 `components` 选项局部注册该子组件
    5. ```vue
    6. <template>
    7. <div>
    8. <Tab1/> // 使用
    9. <Tab2/>
    10. <span>我是App.vue文件</span>
    11. </div>
    12. </template>
    13. <script lang="ts">
    14. import { defineComponent } from 'vue'
    15. import Tab1 from './components/Tab.vue' // 引入Tab子组件
    16. import Tab2 from './components/Tab2.vue'; // 引入Tab2子组件
    17. export default defineComponent({
    18. components:{ // 通过components选项注册子组件
    19. Tab,Tab2
    20. }
    21. })
    22. </script>
    23. <style lang="stylus" scoped>
    24. // 引入取消标签默认样式css文件 是全局样式 需要加scoped属性
    25. @import url('/assets/style/reset.styl');// stylus样式文件的后缀名是 .styl
    26. span#span
    27. background:red
    28. </style>