vue中的单文件组件(SFC)
文章类型:Vue
发布者:hp
发布时间:2023-02-21
VUE单文件组件,Single-File Component,简称SFC,一种特殊的文件格式,使得能够将一个vue组件的模板、逻辑、样式封装在一个文件中,类似 HTML 语法的自定义文件格式
主要包含:<template>、<script> 和 <style>,以及其他的自定义块
<template>(视图)=>语块包裹的内容将会被提取、传递给渲染函数,并附在导出的组件上作为其 render 。
<script>(逻辑)=>将被预处理为组件的 setup函数,这意味着它将为每一个组件实例都执行
<style>(样式)=>一个或多个封装当前组件的样式
优点:
1:使用熟悉的 HTML、CSS 和 JavaScript 语法编写
2:相关的内容在一个模块
3:css作用域内,避免冲突覆盖
3:交叉分析模板和逻辑代码能进行更多编译时优化
4:模块热更新 (HMR) 支持
工作原理:特定的文件格式,因此必须交由 @vue/compiler-sfc 编译为标准的 JavaScript 和 CSS,变成标准的 JavaScript(ES) 模块
<script>
export default {
data() {
return {
greeting: 'Hello World!'
}
}
}
</script>
<template>
<p class="greeting">{{ greeting }}</p>
</template>
<style>
.greeting {
color: red;
font-weight: bold;
}
</style>
引入方式
import MyComponent from'./MyComponent.vue'
export default {
components: {
MyComponent
}
}