Vue之小目標列表實現

                                     Vue之小目標列表實現

今天來實現一個簡單的小目標列表功能。

效果圖:

功能:可以添加目標添加後自動顯示在最下面,如果勾選了就說明是已完成的目標。

1.創建一個文本框用於添加目標。並綁定鍵盤迴車事件@keyup.13='addList' 調用添加目標方法。文本框的值則綁定addText data屬性。

2.實現添加目標方法。把輸入的值添加到集合中,狀態默認爲未完成。用this.prolist.push來添加集合的子項。

3.寫兩個計算方法,用來計算已完成的目標和未完成的目標。直接用this.prolist.filter過濾掉相應的狀態即可。

全部代碼:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
    <title>Title</title>
</head>
<style type="text/css">

</style>
<script src="vue.min.js"></script>
<body>
	<div id="test">
		<h1>小目標列表</h1>
		<h2>添加一個小目標</h2>
		<input type="text" name="" placeholder="添加小目標" v-model="addText" @keyup.13='addList'/>
		<h3>共有{{prolist.length}}個目標,已完成{{getSuccess.total}},還有{{getUnSuccess.total}}未完成</h3>
		<ul>
			<li v-for="item in prolist"><input type="checkbox" v-bind:checked="item.status" @click="item.status=!item.status"/>
				<span>{{item.name}}</span>
			</li>
		</ul>
	</div>
</body>
<script >
	new Vue({
		el : "#test",
		data: {
	        addText:'',
	        //name-名稱,status-完成狀態
	        prolist:[
	               {name:"HTML5",status:false},
	               {name:"css3",status:false},
	        ],
	        //success:[],
    	},
    	methods:{
    		addList :function(){
    			this.prolist.push({
                name:this.addText,
                status:false
	            });
	            //添加後,清空addText
	            this.addText="";
    		}
    	},
    	computed :{
    		getSuccess:function(){
    			var succ = this.prolist.filter(function (val) { return val.status})
    			return {total:succ.length}
    		},
    		getUnSuccess:function(){
    			var succ = this.prolist.filter(function (val) { return !val.status})
    			return {total:succ.length}
    		}
    	}
	})
</script>
</html>

 

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