Angular实现的日程表功能【可添加及隐藏显示内容】


Posted in Javascript onDecember 27, 2017

本文实例讲述了Angular实现的日程表功能。分享给大家供大家参考,具体如下:

先来看看运行效果:

Angular实现的日程表功能【可添加及隐藏显示内容】

具体代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>3water.com Angular日程表</title>
  <style>
    table{
      border-collapse: collapse;
    }
    td{
      padding: 10px;
      border: 1px solid #000;
    }
  </style>
  <script src="angular.min.js"></script>
  <script>
    /*
     1、基本布局
     2、准备模拟数据
     */
    // 模拟数据
    var data = {
      user:"吴四",
      items:[
        {action:"约刘诗诗吃饭",done:false},
        {action:"约刘诗诗跳舞",done:false},
        {action:"约刘诗诗敲代码",done:true},
        {action:"约刘诗诗爬长城",done:false},
        {action:"约刘诗诗逛天坛",done:false},
        {action:"约刘诗诗看电影",done:false}
      ]
    };
    var myapp=angular.module("myapp",[]);
    /*这里的是自定义过滤器,将数组items 过滤之后返回arr*/
    myapp.filter("doFilter",function(){
      /*传入两个参数,一个数组items,另一个是complate*/
      return function(items,flag){
        var arr=[];
        /*遍历items,如果dones是false或者下边的按钮在选中状态,就将这一条item push到arr中*/
        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;
      }
    });
    myapp.controller("myCtrl",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.action){
          /*如果输入了内容之后,就在数组的最后加入一条新内容*/
          $scope.data.items.push({"action":$scope.action,"done":false});
          /*添加完成之后,将input置空*/
          $scope.action="";
        }
      };
    });
  </script>
</head>
<body ng-app="myapp" ng-controller="myCtrl">
<h2>吴四的日程<span ng-bind="count()"></span></h2>
<div>
  <input type="text" ng-model="action"><button ng-click="add()">添加</button>
</div>
<table>
  <thead>
  <tr>
    <th>序号</th>
    <th>日程</th>
    <th>完成情况</th>
  </tr>
  </thead>
  <tbody>
  <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>
  </tbody>
</table>
<div>显示全部<input type="checkbox" ng-model="complate"></div>
</body>
</html>

希望本文所述对大家AngularJS程序设计有所帮助。

Javascript 相关文章推荐
js实现正方形颜色从下往上升的效果
Aug 04 Javascript
JavaScript使用focus()设置焦点失败的解决方法
Sep 03 Javascript
jquery简单实现幻灯片的方法
Aug 03 Javascript
Jquery和angularjs获取check框选中的值的方法汇总
Jan 17 Javascript
jQuery实现带延时功能的水平多级菜单效果【附demo源码下载】
Sep 21 Javascript
javascript中活灵活现的Array对象详解
Nov 30 Javascript
jquery封装插件时匿名函数形参和实参的写法解释
Feb 14 Javascript
jQuery实现模糊查询的方法分析
May 10 jQuery
详解webpack运行Babel教程
Jun 13 Javascript
JavaScript中工厂函数与构造函数示例详解
May 06 Javascript
vue-element-admin项目导入和导出的实现
May 21 Vue.js
vue修饰符.capture和.self的区别
Apr 22 Vue.js
Vue+SpringBoot开发V部落博客管理平台
Dec 27 #Javascript
简单的Vue异步组件实例Demo
Dec 27 #Javascript
Vue.js组件间的循环引用方法示例
Dec 27 #Javascript
全面介绍vue 全家桶和项目实例
Dec 27 #Javascript
CSS3结合jQuery实现动画效果及回调函数的实例
Dec 27 #jQuery
使用jQuery 操作table 完成单元格合并的实例
Dec 27 #jQuery
浅谈vue-router 路由传参的方法
Dec 27 #Javascript
You might like
PHP 数组遍历顺序理解
2009/09/09 PHP
PHP脚本监控Nginx 502错误并自动重启php-fpm
2015/05/13 PHP
laravel5.6中的外键约束示例
2019/10/23 PHP
xmlHTTP实例
2006/10/24 Javascript
firefox 和 ie 事件处理的细节,研究,再研究 书写同时兼容ie和ff的事件处理代码
2007/04/12 Javascript
教您去掉ie网页加载进度条的方法
2010/12/09 Javascript
JavaScript面向对象知识串结(读JavaScript高级程序设计(第三版))
2012/07/17 Javascript
实例解析jQuery中如何取消后续执行内容
2016/12/01 Javascript
javascript中BOM基础知识总结
2017/02/14 Javascript
vue Render中slots的使用的实例代码
2017/07/19 Javascript
AngularJS实现的锚点楼层跳转功能示例
2018/01/02 Javascript
原生JS实现网页手机音乐播放器 歌词同步播放的示例
2018/02/02 Javascript
详解ES6 export default 和 import语句中的解构赋值
2019/05/28 Javascript
javascript设计模式 ? 原型模式原理与应用实例分析
2020/04/10 Javascript
[49:21]2018DOTA2亚洲邀请赛3月30日 小组赛B组 Effect VS iG
2018/03/31 DOTA
[59:36]2018DOTA2亚洲邀请赛 4.3 突围赛 Secret vs VG 第二场
2018/04/04 DOTA
python实现的各种排序算法代码
2013/03/04 Python
简单讲解Python中的闭包
2015/08/11 Python
2019 Python最新面试题及答案16道题
2019/04/11 Python
python时间与Unix时间戳相互转换方法详解
2020/02/13 Python
python使用html2text库实现从HTML转markdown的方法详解
2020/02/21 Python
python实现udp传输图片功能
2020/03/20 Python
物流专业大学生的自我鉴定
2013/11/13 职场文书
应届生如何写自荐信
2014/01/05 职场文书
通信工程专业求职信
2014/06/04 职场文书
大专学生求职自荐信
2014/07/06 职场文书
小学美术兴趣小组活动总结
2014/07/07 职场文书
小学科学教学计划
2015/01/21 职场文书
新教师个人总结
2015/02/06 职场文书
银行催款通知书
2015/04/17 职场文书
2016思想纪律作风整顿心得体会
2016/01/23 职场文书
大学毕业生自我鉴定范文
2019/06/21 职场文书
vue实现滑动解锁功能
2022/03/03 Vue.js
日本官方排名前10的动漫,名侦探柯南上榜,第一是一部创造历史的动漫
2022/03/18 日漫
十大动画制作软件,Adobe产品上榜两款,第一是行业标准软件
2022/03/18 杂记
Python PIL按比例裁剪图片
2022/05/11 Python