Vue 组件的三大组成部分

Vue 组件通常由三大组成部分构成:模板(Template)、脚本(Script)、样式(Style)

模板部分是组件的 HTML 结构,它定义了组件的外观和布局。Vue 使用基于 HTML 的模板语法来声明组件的模板,可以插入动态数据、绑定事件等。脚本部分包含了组件的 JavaScript 代码,用于定义组件的行为逻辑。在脚本中,可以定义组件的数据(data)、计算属性(computed)、方法(methods)等。样式部分定义了组件的样式,用于控制组件的外观和样式。通常使用 CSS 或预处理器(如 Sass 或 Less)编写样式,可以使用作用域样式(scoped styles)确保样式仅应用于当前组件。

结构<template>

只能有一个根元素

样式<style>

全局样式(默认)

影响所有组件

局部样式

给组件加上scoped样式,让样式只作用于当前组件

scoped原理

  • 给当前组件模板的所有元素,都会添加上一个自定义属性,即data-v-hash值

data-v-5f6a9d56

  • css选择器都被添加上 [data-v-hash值] 的属性选择器

div[data-v-5f6a9d56]

BaseOne.vue
html 复制代码
<template>
  <div class="base-one">
    BaseOne
  </div>
</template>

<script>
export default {

}
</script>

<style scoped>
div{
  border: 3px solid blue;
  margin: 30px;
}
</style>
BaseTwo.vue
html 复制代码
<template>
  <div class="base-one">
    BaseOne
  </div>
</template>

<script>
export default {

}
</script>

<style scoped>
div{
  border: 3px solid blue;
  margin: 30px;
}
</style>
App.vue
html 复制代码
<template>
  <div id="app">
    <BaseOne></BaseOne>
    <BaseTwo></BaseTwo>
  </div>
</template>

<script>
import BaseOne from './components/BaseOne'
import BaseTwo from './components/BaseTwo'
export default {
  name: 'App',
  components: {
    BaseOne,
    BaseTwo
  }
}
</script>

逻辑<script>

el根实例独有,data是一个函数,其他配置项一致

相关推荐
多啦爱梦的梦想12 分钟前
项目中把webpack 打包改为vite 打包
前端·webpack
小刘不知道叫啥22 分钟前
简单说一下 Webpack分包
前端·javascript·webpack·node.js
Dontla25 分钟前
《黑马前端ajax+node.js+webpack+git教程》(笔记)——node.js教程+webpack教程(nodejs教程)
前端·ajax·node.js
MessiGo35 分钟前
Javascript 编程基础(2)基础知识 | 2.1、javascript与Node.js
开发语言·javascript·node.js
繁依Fanyi44 分钟前
项目记录:「五秒反应挑战」小游戏的开发全过程
前端·codebuddy首席试玩官
肥肠可耐的西西公主1 小时前
前端(vue)学习笔记(CLASS 6):路由进阶
前端·vue.js·学习
*小雪1 小时前
uniapp打包H5,输入网址空白情况
前端·uni-app
李梨与狸2 小时前
vue中excel文件 打包后不展示问题
前端·vue.js·excel
前端达人2 小时前
React 播客专栏 Vol.13|样式不难搞,Tailwind CSS 与 SVG 实战入门
前端·javascript·css·react.js·前端框架
xcs194052 小时前
开发 前端搭建npm v11.4.0 is known not to run on Node.js v14.18.1.
前端·npm·node.js