• Vue.extend(options)小例子


    本例利用 Vue.extend() 实现左侧input 框中输入文本,动态加载组件。

    <!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>Vue.extend(options)</title>
        <script src="vue.js"></script>
        <style>
            div{
                 200px;
                height: 100px;
                background-color: #eee;
                padding: 50px;
                border-radius: 10px;
                border: 1px solid #ddd;
                color: #000;
            }
            #alert{
                position: absolute;
                text-align: center;
                animation: alertComp 1s ease both;
            }
            @keyframes alertComp {
                from{
                    top: 100px;
                    left: 50px;
                }
                to{
                    top: 200px;
                    left: 50%;
                    transform: translateX(-50%);
                }
            }
        </style>
    </head>
    <body>
        <div id="app">
            <input type="text" v-model='msg'>
            <button @click='defin_alert'>点击</button>
        </div>
        <template id='alertComponent'>
            <div id="alert">
                我是动态组件:<br/>
                <span style="color:burlywood;font-size: 36px;">{{myData}}</span>
            </div>
        </template>
    </body>
    <script>
        const vm = new Vue({
            el:'#app',
           data() {
               return {
                   msg:'ok'
               }
           },
            methods: {
                defin_alert(){
                    let info = document.getElementById('alert')
                    if(info !== null && info !== undefined){
                        document.body.removeChild(info)
                    }
                    let testComponent = Vue.extend({
                        props:['myData'],
                        template:'#alertComponent'
                    })
                    
                    const extendComponent = new testComponent({
                        propsData:{
                            myData:vm.msg
                        }
                    }).$mount()
                    document.body.appendChild(extendComponent.$el)
                }
            },
        })
    </script>
    </html>
    
    
  • 相关阅读:
    架构探险笔记3-搭建轻量级Java web框架
    软件工程
    Mysql基础
    Navicat快捷键
    百度搜索的使用技巧
    利用adb截图然后传到电脑
    Div不用float布局
    安卓开发之ScrollView
    安卓开发ScrollView嵌套ListView只显示一行
    修改eclipse的背景色(转载)
  • 原文地址:https://www.cnblogs.com/springyoung/p/14531638.html
Copyright © 2020-2023  润新知