35Angular实现一个todoList
Posted shanlu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了35Angular实现一个todoList相关的知识,希望对你有一定的参考价值。
1 <div class="todolist"> 2 <h3>ToDoList</h3> 3 <input class="todo" type="text" [(ngModel)]="keyword" (keyup)=keyup($event)> 4 <p>代办事项:</p> 5 <h4 *ngFor="let item of todoList;let key = index;" [hidden]="item.state==1"> <!--选中了item.state等于1,那么这个item放到已完成事项中--> 6 <p> {{item.title}}-------<span (click)="delete(key)">X</span> <input type="checkbox" [(ngModel)]="item.state"> </p> 7 </h4> 8 9 <p>已完成事项:</p> 10 <h4 *ngFor="let item of todoList;let key=index;" [hidden]="item.state==0"> 11 <p>{{item.title}}-------<span (click)="delete(key)">X</span></p> 12 </h4> 13 </div>
1 import { Component, OnInit } from \'@angular/core\'; 2 3 @Component({ 4 selector: \'app-todolist\', 5 templateUrl: \'./todolist.component.html\', 6 styleUrls: [\'./todolist.component.css\'] 7 }) 8 export class TodolistComponent implements OnInit { 9 keyword:string=\'\';//输入框中输入的关键词 10 state:any=\'\';//状态,用来判断是待完成事项还是已完成事项 11 todoList:Array<any>=[];//包含关键词的数组,数组中每一个元素是一个对象(title:\'\',state:\'\'); 12 13 constructor() { } 14 15 ngOnInit() { 16 } 17 18 keyup(e){ //鼠标弹起 19 if(e.keyCode==13){ //按下回车键 20 console.log(this.keyword); 21 if(this.hasKeyWord(this.keyword,this.todoList)){ //可以push到数组的条件是hasKeyWord()返回true,也就是keyword没有出现过 22 this.todoList.push({ 23 title: this.keyword, 24 state: 0, 25 }); 26 } 27 this.keyword=\'\';//打印出keyword,要清空输入框 28 } 29 30 } 31 32 delete(keyIndex){ 33 console.log(keyIndex); 34 this.todoList.splice(keyIndex,1); 35 } 36 37 38 hasKeyWord(keyword:any,todoList:any){ //判断关键词是否在todoList中出现过的方法 39 for(let i=0;i<todoList.length;i++){ //循环遍历todoList数组 40 if(todoList[i].title==keyword){ //如果数组里有了keyword,返回false 41 return false; 42 } 43 } 44 return true;//返回true,说明没有keyword 45 } 46 47 48 49 }
以上是关于35Angular实现一个todoList的主要内容,如果未能解决你的问题,请参考以下文章
json 可视代码工作室Angular with Firebase片段
typescript Angular 2测试片段。代码库https://developers.livechatinc.com/blog/category/programming/angular-2/
typescript Angular最终版本的Angular 2测试片段。代码库https://developers.livechatinc.com/blog/category/programming