17 vue-組件 v-model

渲染普通的HTML元素在Vue中是非常快速的,但有的時候你可能有一個組件,這個個組件包含了大量靜態的內容,在這種情況下,你可以在跟元素上添加v-once attribute 以確保這些內容只計算一次然後緩存起來,

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <script src="../../lib/vue.js"></script>
        <script src="../../lib/axios.js"></script>
    </head>
    <body>
        <div id="app">
            <kerwin-input type="text" title="姓名" @event="event1"></kerwin-input>
            <kerwin-input type="password" title="密碼"  @event="event2"></kerwin-input>
            <button>submit</button>
                <button>seset</button>
        </div>

<script>
    Vue.component("kerwinInput",{
        data(){
            return{
                mytext:""
            }
        },
        props:["type","title"],
        template:`<div>
    <label> {{title}}</label>
    {{mytext}}
          <input :type="type" style="background:red" v-model="mytext" @input="handleInput">
        
        
        </div>`,
        methods:{
            handleInput(){
                this.$emit("event",this.mytext);
            }
        }
        
    });
    new Vue({
        el:"#app",
        data:{
            username:"",
            password:"",
             isShow:false
            
        },
        methods:{
            event1(data){
                console.log(data)
                this.username=data;
            },
            event2(data){
                this.password=data
                console.log(data)
            }
        }
        
    });
</script>
    </body>
</html>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章