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 相关文章推荐
JavaScript delete 属性的使用
Oct 08 Javascript
如何确保JavaScript的执行顺序 之jQuery.html深度分析
Mar 03 Javascript
javascript 单例/单体模式(Singleton)
Apr 07 Javascript
Jquery 自定义事件实现发布/订阅的简单实例
Jun 12 Javascript
a标签跳转到指定div,jquery添加和移除class属性的实现方法
Oct 10 Javascript
微信小程序request出现400的问题解决办法
May 23 Javascript
基于jquery的on和click的区别详解
Jan 15 jQuery
Vue 拦截器对token过期处理方法
Jan 23 Javascript
详解基于vue-cli3快速发布一个fullpage组件
Mar 08 Javascript
element el-tree组件的动态加载、新增、更新节点的实现
Feb 27 Javascript
Vue 打包体积优化方案小结
May 20 Javascript
vue中实现点击空白区域关闭弹窗的两种方法
Dec 30 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实现通过正则表达式替换回调的内容标签
2015/06/15 PHP
PHP中new static()与new self()的比较
2016/08/19 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
2017/09/16 PHP
详解no input file specified 三种解决方法
2019/11/29 PHP
Javascript倒计时代码
2010/08/12 Javascript
XMLHTTP 乱码的解决方法(UTF8,GB2312 编码 解码)
2011/01/12 Javascript
别了 JavaScript中的isXX系列
2012/08/01 Javascript
Javascript的严格模式strict mode详细介绍
2014/06/06 Javascript
文字垂直滚动之javascript代码
2015/07/29 Javascript
JavaScript常用标签和方法总结
2015/09/01 Javascript
js右下角弹出提示框示例代码
2016/01/12 Javascript
详解JS正则replace的使用方法
2016/03/06 Javascript
深入理解Ajax的get和post请求
2016/06/02 Javascript
JQuery学习总结【二】
2016/12/01 Javascript
原生js+ajax分页组件
2020/01/30 Javascript
nodejs制作小爬虫功能示例
2020/02/24 NodeJs
JS中循环遍历数组的四种方式总结
2021/01/23 Javascript
通过滑动翻页效果实现和移动端click事件问题
2021/01/26 Javascript
Python读取stdin方法实例
2019/05/24 Python
python覆盖写入,追加写入的实例
2019/06/26 Python
pytorch 获取层权重,对特定层注入hook, 提取中间层输出的方法
2019/08/17 Python
Python 50行爬虫抓取并处理图灵书目过程详解
2019/09/20 Python
使用PyWeChatSpy自动回复微信拍一拍功能的实现代码
2020/07/02 Python
python 实现Harris角点检测算法
2020/12/11 Python
彻底弄明白CSS3的Media Queries(跨平台设计)
2010/07/27 HTML / CSS
简单介绍HTML5中audio标签的使用
2015/09/24 HTML / CSS
HTML5拖放效果的实现代码
2016/11/17 HTML / CSS
GAP阿联酋官网:GAP UAE
2017/11/30 全球购物
Servlet方面面试题
2016/09/28 面试题
《灯光》教学反思
2014/02/08 职场文书
预备党员公开承诺书
2014/05/28 职场文书
员工团队活动方案
2014/08/28 职场文书
律师授权委托书范本
2014/10/07 职场文书
农民工工资支付承诺书
2015/05/04 职场文书
2019开业庆典剪彩仪式主持词!
2019/07/22 职场文书
MySQL读取JSON转换的方式
2022/03/18 MySQL