todomvc 组件编写逻辑

第一步创建data数据   data:{             name:'',             list:[                 // {id:1,name:'小红',completed:false},                 // {id:2,name:'小蓝',completed:true},                 // {id:3,name:'小紫',completed:false},             ] },   第二步,循环数据输出到模板   <li :class="{completed:item.completed}" v-for='item in list' >              //动态的绑定classcompleted:item.completed完成划线效果                         <div class="view">                             <input class="toggle" type="checkbox" checked>                             <label>{{item.name}}</label>                             <button class="destroy"></button>                         </div>                         <input class="edit" value="Create a TodoMVC template">  </li>   第三步,checkbox和划线联动,当checkbox为true时item.completed的值也为true   <li :class="{completed:item.completed}" v-for='item in list' >                                   <div class="view">                             <input class="toggle" type="checkbox" v-model='item.completed'>                             <label>{{item.name}}</label>                             <button class="destroy"></button>                         </div>                         <input class="edit" value="Create a TodoMVC template">  </li> 第四步,添加数据功能   <header class="header">                 <h1>todos</h1>                 <input class="new-todo" placeholder="What needs to be done?" autofocus @keyup.enter='add' v-model='name'>   // 使用键盘事件调用事件函数,使用双向数据绑定绑定name </header>   methods:{             add(){    if(this.name.trim() === ''){                                                                //使用this.name.trim()方法防止输入空格                     return                 }                                                                                                  //使用push方法添加数据对象,this.name='' 用来清除事件处理完成后的文字                 this.list.push({id:4,name:this.name,completed:false}),                   this.name=''             }         },        
上一篇:redux 小总结


下一篇:CCF-CSP201903-4-消息传递接口