实现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/vue@2.6.10/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>