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 }}