01-todolist-Demo

實現todolist思路

添加功能:輸入框雙向綁定數據,按鈕綁定添加事件,添加後把要添加的數據push到字符串,然後把輸入框的內容清空。  展示list使用ul下面的li添加事件循環 item in list,然後mustache語法綁定{{item}}。

 考慮到這種組件可能很常用,建一個vue全局組件,專門用於多個li的展示。可以爲這個全局組件設置屬性,這樣這個組件使用屬性綁定就可以訪問特定vue實例中的數據。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<style>
   .item{
       color:red
   }
</style>

<body>
<div id="app">
     {{msg}}
    <div>
        <input type="text" v-model="info">
        <button @click="handleClick">添加</button>
    </div>
    <ul>
        <!--<li v-for="item in list">{{item}}</li>-->
        <todo-item v-for="item in list" :item="item" ></todo-item>
    </ul>
</div>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.js"></script>
<script >
    Vue.component('todo-item',{
        //自定義屬性添加更強大的功能
        props:['item'],
        template:'<li class="item">{{item}}</li>'
    })
    new Vue({
        el:'#app',
        data(){
            return{
                msg:'hello worldsss',
                info:'',
                list:[],
            }
        },
        methods:{
            handleClick(){
                console.log(this.info);
                this.list.push(this.info);
                this.info=''
            }
        }
    })
</script>
</body>
</html>

 

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