最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于Vue實(shí)現(xiàn)消息提示功能

 更新時(shí)間:2024年10月24日 11:06:58   作者:陌路物是人非  
這篇文章主要為大家詳細(xì)介紹了如何基于Vue實(shí)現(xiàn)簡(jiǎn)單的消息提示功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

1.首先要先定義消息提示的組件,在這個(gè)組件中需要實(shí)現(xiàn)自動(dòng)關(guān)閉的功能(看自己的愛(ài)好唄),并且設(shè)置自己喜歡的樣式,vue中還有可以自定義進(jìn)場(chǎng)和退場(chǎng)動(dòng)畫(huà)的樣式(就是那個(gè)v-enter-active和v-leave-active)。這里還可以通過(guò)definePorps在外部設(shè)置屬性值

<template>
    <div class="message" v-if="display">
 
        <div class="content">
            <div>Message組件實(shí)例</div>
            <div class="close" @click="close">X</div>
        </div>
 
    </div>
 
 
</template>
<script setup>
    import { ref, onMounted } from 'vue';
    let display = ref(false);
    function close() {
        display.value = false
    }
    onMounted(() => {
        display.value = true;
        setTimeout(() => {
            display.value = false;
        }, 5000)
    })
</script>
<style>
    .content {
        display: flex;
        position: relative;
        transform: translateY(-50%);
        top: 50%;
    }
 
    .message {
        border: 3px skyblue solid;
        border-radius: 20px;
        width: fit-content;
        height: 30px;
        text-align: center;
        padding: 10px;
        position: relative;
        transform: translateX(-50%);
        left: 50%;
    }
 
 
    .close {
        margin-left: 20px;
        font-weight: 700;
        padding: 2px;
        border: 1px solid red;
        background-color: red;
    }
</style>

2. 通過(guò)h函數(shù)和render函數(shù)實(shí)現(xiàn)組件的掛載

首先需要通過(guò)h函數(shù)創(chuàng)建組件的虛擬節(jié)點(diǎn),h函數(shù)有多個(gè)重寫(xiě)方法(h函數(shù)的具體用法),這里用的直接傳入一個(gè)節(jié)點(diǎn)(也就是自定義的組件),h函數(shù)會(huì)有一個(gè)VNode的返回值,通過(guò)render渲染函數(shù)進(jìn)行渲染,然后將div掛載到body上,最后將這個(gè)函數(shù)導(dǎo)出

import Message from './Message.vue'
import { h, render } from 'vue'
export function createMessage() {
 
    const div = document.createElement("div");
    render(h(Message), div);
    document.body.appendChild(div)
}

3.使用

這里實(shí)現(xiàn)的是最簡(jiǎn)單的消息提示,正常來(lái)說(shuō)應(yīng)該用props來(lái)傳遞屬性(比如傳遞的消息內(nèi)容等等)。

    import { createMessage } from './message/Message.js'
    createMessage();

例如說(shuō)這樣

<template>
    <div class="message" v-if="display">
        <div class="content">
            <div>{{message}}</div>
            <div class="close" @click="close">X</div>
        </div>
 
    </div>
</template>
<script setup>
    import { ref, onMounted } from 'vue';
    const { message } = defineProps(["message"])
</script>
import Message from './Message.vue'
import { h, render } from 'vue'
export function createMessage({ Msg = "消息提示" }) {
    const div = document.createElement("div");
    render(h(Message, { message: Msg }), div);
    document.body.appendChild(div)
}
 
<script setup>
    import { createMessage } from './message/Message.js'
    createMessage({ Msg: "Hello World" });
</script>
 
<template>
</template>

這樣就可以實(shí)現(xiàn)一個(gè)簡(jiǎn)單的消息傳遞,但是功能非常的不全(所以我為什么不用Element呢.......),可以當(dāng)成事件觸發(fā)后的提示功能

到此這篇關(guān)于基于Vue實(shí)現(xiàn)消息提示功能的文章就介紹到這了,更多相關(guān)Vue消息提示內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue transition的延時(shí)播放實(shí)踐過(guò)程

    vue transition的延時(shí)播放實(shí)踐過(guò)程

    文章介紹了如何使用JavaScript的`setTimeout`和Vue.js的`v-show`指令實(shí)現(xiàn)頁(yè)面自動(dòng)播放,并通過(guò)CSS的`transition`和`animation`屬性控制動(dòng)畫(huà)的播放時(shí)間
    2025-12-12
  • vue3中的this.$set寫(xiě)法舉例

    vue3中的this.$set寫(xiě)法舉例

    在Vue2中,由于數(shù)據(jù)響應(yīng)式是利用object.definedProperty()實(shí)現(xiàn)的,無(wú)法深層監(jiān)聽(tīng)數(shù)據(jù)變化,因此提供了$set方法來(lái)解決數(shù)據(jù)變化視圖未實(shí)時(shí)更新的問(wèn)題,然而,在Vue3中,數(shù)據(jù)響應(yīng)式使用ES6的proxy進(jìn)行數(shù)據(jù)代理,因此廢棄了$set的概念
    2024-10-10
  • 詳解基于vue的移動(dòng)web app頁(yè)面緩存解決方案

    詳解基于vue的移動(dòng)web app頁(yè)面緩存解決方案

    這篇文章主要介紹了詳解基于vue的移動(dòng)web app頁(yè)面緩存解決方案,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2017-08-08
  • 基于Electron24+Vite4+Vue3搭建桌面端應(yīng)用實(shí)戰(zhàn)教程

    基于Electron24+Vite4+Vue3搭建桌面端應(yīng)用實(shí)戰(zhàn)教程

    這篇文章主要介紹了基于Electron24+Vite4+Vue3搭建桌面端應(yīng)用,這次給大家主要分享的是基于electron最新版本整合vite4.x構(gòu)建vue3桌面端應(yīng)用程序,需要的朋友可以參考下
    2023-05-05
  • 基于uniapp+vue3?實(shí)現(xiàn)72小時(shí)倒計(jì)時(shí)功能

    基于uniapp+vue3?實(shí)現(xiàn)72小時(shí)倒計(jì)時(shí)功能

    數(shù)組項(xiàng)有一個(gè)下單時(shí)間?,比如今天下單在72小時(shí)內(nèi)可以繼續(xù)支付,超過(guò)則默認(rèn)取消訂單,下面通過(guò)實(shí)例代碼介紹uniapp+vue3?實(shí)現(xiàn)72小時(shí)倒計(jì)時(shí)功能,感興趣的朋友一起看看吧
    2025-05-05
  • 詳解Vue中表單組件的雙向數(shù)據(jù)綁定

    詳解Vue中表單組件的雙向數(shù)據(jù)綁定

    Vue?提供了雙向數(shù)據(jù)綁定機(jī)制,使得開(kāi)發(fā)者可以輕松地將表單組件的值與?Vue?實(shí)例中的數(shù)據(jù)進(jìn)行關(guān)聯(lián),本文將詳細(xì)介紹如何在?Vue?中使用這些表單組件,并實(shí)現(xiàn)雙向數(shù)據(jù)綁定,需要的可以參考下
    2024-03-03
  • vue 動(dòng)態(tài)組件component

    vue 動(dòng)態(tài)組件component

    這篇文章主要介紹了 vue 動(dòng)態(tài)組件component ,vue提供了一個(gè)內(nèi)置的<component>,專(zhuān)門(mén)用來(lái)實(shí)現(xiàn)動(dòng)態(tài)組件的渲染,這個(gè)標(biāo)簽就相當(dāng)于一個(gè)占位符,需要使用is屬性指定綁定的組件,想了解更多詳細(xì)內(nèi)容的小伙伴請(qǐng)參考下面文章的具體內(nèi)容
    2021-11-11
  • 詳解如何使用webpack打包Vue工程

    詳解如何使用webpack打包Vue工程

    本篇文章主要介紹了詳解如何使用webpack打包Vue工程,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • 使用vue實(shí)現(xiàn)一個(gè)電子簽名組件的示例代碼

    使用vue實(shí)現(xiàn)一個(gè)電子簽名組件的示例代碼

    這篇文章主要介紹了使用vue實(shí)現(xiàn)一個(gè)電子簽名組件的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • VUE預(yù)渲染及遇到的坑

    VUE預(yù)渲染及遇到的坑

    這篇文章主要介紹了VUE預(yù)渲染及遇到的坑,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09

最新評(píng)論

屏东县| 桐乡市| 石泉县| 易门县| 湖州市| 玛沁县| 灵山县| 宜兰县| 凤翔县| 定边县| 高密市| 元谋县| 海安县| 四川省| 米脂县| 渝北区| 南康市| 兰溪市| 建德市| 洱源县| 孝感市| 定安县| 杭锦旗| 灵寿县| 敖汉旗| 延安市| 永清县| 河池市| 万山特区| 玛多县| 竹北市| 隆德县| 西乡县| 亚东县| 保靖县| 繁昌县| 青铜峡市| 内乡县| 琼海市| 拉孜县| 田阳县|