vue3写法

一.  <script setup>

1. 引入组件
import Head from "./conponents/head.vue"
2. 声明变量
// 引入 ref
import { ref } from 'vue'
const isNeedNav = ref(true)
3. 声明方法
const changeLossd = () => {lossdVisible.value = !lossdVisible.value
}
4.生命钩子函数
onBeforeMount(() => {})
onMounted(() => {})
onBeforeUpdate(() => {})
onUpdated(() => {})
onBeforeUnmount(() => {})
onUnmounted(() => {})
5.父传子参数

父:

<Body :twentyFour="twentyFour"></Body>

子:

const porps = defineProps({twentyFour: String,
})

JS 中取值:

porps.twentyFour

HTML 中取值:

{{ twentyFour }}
6.父传子方法

父:

 <Body @changeInYear="changeInYear" ></Body>

子:

const emit = defineEmits(['changeInYear']); //声明emit
emit('changeInYear')
7.watch监听
import { watch } from 'vue'watch(() => chooseNow.value, () => {})
8.css深度监听
:deep(.el-table tr) {background: transparent;
}

二.  export default

1. 引入组件
import switchRoom from './switchRoom.vue'
export default {components: { electricityLoss, switchRoom },
}
2. 声明变量
import { ref } from 'vue'
export default {setup(props, contont) {const chooseNow = ref("用电损耗")return {chooseNow,}}
}
3. 声明方法
export default {setup(props, contont) {const changeCom = (name) => {chooseNow.value = name}return {changeCom,}}
}
4.生命钩子函数
import {
onBeforeMount,
onMounted,
onBeforeUpdate,
onUpdated,
onBeforeUnmount,
onUnmounted,
} from 'vue'
onBeforeMount(() => {})
onMounted(() => {})
onBeforeUpdate(() => {})
onUpdated(() => {})
onBeforeUnmount(() => {})
onUnmounted(() => {})
5.父传子参数

父:

<inYearDialog :inYearVisible="inYearVisible" :title='title'></inYearDialog>

子:

props: {inYearVisible: Boolean,title: String
},

JS 中取值:

setup(props, contont) {onMounted(() => {consoloe.log(props.inYearVisible)})
}

HTML 中取值:

{{ inYearVisible }}