动态组件 keep-alive

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="./vue.js"></script>
</head>
<body>
    <div id="app">
        <ul>
            <li @click="which='shouye'">首页</li>
            <li @click="which='gouwu'">购物</li>
            <li @click="which='fukuan'">付款</li>
        </ul>
        <!-- keep-alive 是保留状态,避免重新渲染 -->
        <keep-alive>
            <!-- 动态地绑定多个组件到它的 is 属性 -->
            <component :is="which"></component>
        </keep-alive>
        
    </div>
</body>
<script>
    const app = Vue.createApp({
        data () {
            return {
                which:'shouye'
            }
        },
        components: {
            shouye:{
                template:`
                <h1>首页</h1>
                `
            },
            gouwu:{
                template:`
                <h1>购物</h1>
                <input type="text" name="" id="">
                `
            },
            fukuan:{
                template:`
                <h1>付款</h1>
                `
            },
        }
    }).mount("#app")
</script>
</html>
posted @ 2022-10-30 12:38  Sherwin_szw  阅读(26)  评论(0编辑  收藏  举报