亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Vue3中使用reactive時后端有返回數據但dom沒有更新如何解決

發布時間:2023-05-10 16:17:11 來源:億速云 閱讀:345 作者:iii 欄目:開發技術

本篇內容主要講解“Vue3中使用reactive時后端有返回數據但dom沒有更新如何解決”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Vue3中使用reactive時后端有返回數據但dom沒有更新如何解決”吧!

    使用reactive時,后端有返回數據但dom沒有更新

    問題

    在Vue3的setup中使用reactive更新數據,但是dom沒有更新問題

    代碼:

    <template>
        <div class="aside">
            <div class="collpase-btn" @click="collpaseMenu">
                <el-icon><fold /></el-icon>
            </div>
            <el-menu
                active-text-color="#ffd04b"
                background-color="#545c64"
                class="el-menu-vertical-demo"
                default-active="2"
                text-color="#fff"
                :collapse="store.state.isCollapse"
                @open="handleOpen"
                @close="handleClose"
            >
                <el-sub-menu :index="item.id" v-for="item in menus" :key="item.id">
                    <template #title>
                        <el-icon><grid /></el-icon>
                        <span>{{item.title}}</span>
                    </template>
                    <el-menu-item :index="it.id" v-for="it in item.subMenuList">{{it.title}}</el-menu-item>
                </el-sub-menu>
     
            </el-menu>
        </div>
    </template>
    <script lang="ts">
    import axios from 'axios';
    import { defineComponent, onMounted, reactive } from 'vue'
    import { useStore } from 'vuex';
     
    export default defineComponent({
        name:'Aside',
        setup() {
            const store = useStore();
            const mensList:any = [];
            let menus = reactive(mensList);
            
            const handleOpen = (key: string, keyPath: string[]) => {
     
            }
            const handleClose = (key: string, keyPath: string[]) => {
                
            };
            const collpaseMenu = () => {
                store.dispatch('collpaseChange');
            };
            onMounted(() => {
                axios.get('/user/menu').then(res => {
                menus.mensList = res.data.menusList;
            });
            });
            return {
                handleOpen,
                handleClose,
                collpaseMenu,
                store,
                menus
            }
        },
    })
    </script>
     
    <style lang="scss" scoped>
    .el-menu-item.is-active{
        background-color: var(--el-menu-hover-bg-color);;
    }
    .collpase-btn{
       text-align: center;
        width: 100%;
        padding: 10px 0px;
        cursor: pointer;
        .el-icon{
            color: white;
            font-size: 24px;
        }
    }
    </style>

    Vue3中使用reactive時后端有返回數據但dom沒有更新如何解決

    直接使用reactive()一個空數組,改變當前值時,頁面不會自動刷新。

    解決辦法

    使用reactive時,將參數變為一個對象形式,而不是單純的數組。

    Vue3中使用reactive時后端有返回數據但dom沒有更新如何解決

    當改為傳入對象包裹后,頁面正常顯示:

    Vue3中使用reactive時后端有返回數據但dom沒有更新如何解決

    關于vue3中reactive的意義

    在學習Vue3的時候產生疑問:

    const addForm = reactive({ // 這里面的reactive啥意思
      sysPre: null,
      diaPre: null,
      tem: null
    })

    查詢解決

    在Vue3中,響應式對象是指通過reactive函數轉換而來的對象,它的屬性可以被Vue自動監測,當屬性值發生變化時,Vue會自動更新相關的視圖。這個過程是通過Vue內部實現的響應式系統來完成的。

    響應式對象的意義在于使得開發者可以更加方便地管理和操作數據。當數據被轉換為響應式對象后,我們可以直接修改對象的屬性值,而不需要手動調用Vue的更新函數來更新視圖。這樣可以極大地提高開發效率,讓開發者更加專注于業務邏輯的實現。

    此外,響應式對象還可以與Vue的模板語法、組件等功能無縫銜接,使得我們可以通過組合使用響應式對象和Vue的其他功能,快速開發出高效、可維護的應用程序。

    在這段代碼中,addForm對象被使用reactive函數轉換為一個響應式對象。這意味著當addForm對象的屬性sysPre,diaPre或tem發生變化時,相關的依賴將會自動更新,如綁定在模板中的表單輸入框等。

    到此,相信大家對“Vue3中使用reactive時后端有返回數據但dom沒有更新如何解決”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    濮阳市| 始兴县| 博野县| 抚宁县| 永安市| 平果县| 聊城市| 新安县| 特克斯县| 陇川县| 田林县| 济南市| 遵化市| 武隆县| 沭阳县| 祁门县| 上林县| 阿荣旗| 三门峡市| 嘉荫县| 灵宝市| 平利县| 克什克腾旗| 金堂县| 申扎县| 威远县| 大英县| 米易县| 即墨市| 奉化市| 文安县| 灌云县| 左权县| 乐东| 阿坝县| 南岸区| 三台县| 富锦市| 洱源县| 巩义市| 台东市|