angularJS 做一个日程表

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="ajs/angular.min.js"></script>
    <script>
        var data = {
            user:"吴四",
            items:[
                {action:"吃饭",done:false},
                {action:"跳舞",done:false},
                {action:"敲代码",done:true},
                {action:"爬长城",done:false},
                {action:"逛天坛",done:false},
                {action:"看电影",done:false}
            ]
        };
           var app=angular.module("mpp",[]);
        app.filter("doFilter",function(){
            /*传入两个参数,一个数组items,另一个是complate*/
            return function(items,flag){
                var arr=[];
                /*遍历items,如果donesfalse或者下边的按钮在选中状态,就将这一条item pusharr*/
                for(var i=0;i<items.length;i++){
                    if(items[i].done==false){
                        arr.push(items[i]);
                    }else{
                        if(flag==true){
                            arr.push(items[i]);
                        }
                    }
                }
                return arr;
            }
        });
           app.controller("crtl",function ($scope) {
               $scope.data=data;
               $scope.complate=false;
               /*判断还有几件事儿没有完成*/
               $scope.count=function(){
                   var n=0;
                   /*判断还有几件事儿没有完成*/
                   for(var i=0;i<$scope.data.items.length;i++){
                       if($scope.data.items[i].done==false){
                           n++;
                       }
                   }
                   return n;
               };
               /*添加新的日程*/
               $scope.add=function(){
                   /*$scope.action进行一下非空判断*/
                   if($scope.text){
                       /*如果输入了内容之后,就在数组的最后加入一条新内容*/
                       $scope.data.items.push({"action":$scope.text,"done":false});
                       /*添加完成之后,将input置空*/
                       $scope.text="";
                   }
               };
           });
    </script>
</head>
<body ng-app="mpp" ng-controller="crtl">
<h2>小白的日程</h2>
<input type="text" ng-model="text">
<button ng-click="add()">添加</button>
<table>
    <tr>
        <th>序号</th>
        <th>日程</th>
        <th>完成</th>
    </tr>
    <tr ng-repeat="item in data.items|doFilter:complate">
        <td>{{$index}}</td>
        <td>{{item.action}}</td>
        <td><input type="checkbox" ng-model="item.done"></td>
    </tr>
</table>
<div>
    <input type="checkbox" ng-model="complate">
</div>
</body>
</html>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值