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 相关文章推荐
jQuery select的操作实现代码
May 06 Javascript
JavaScript中使用构造器创建对象无需new的情况说明
Mar 01 Javascript
类似php的js数组的in_array函数自定义方法
Dec 27 Javascript
jQuery及JS实现循环中暂停的方法
Feb 02 Javascript
JavaScript字符串删除重复字符的方法
Dec 25 Javascript
js+html制作简单验证码
Feb 16 Javascript
bootstrap选项卡扩展功能详解
Jun 14 Javascript
JavaScript实现微信红包算法及问题解决方法
Apr 26 Javascript
angularjs 的数据绑定实现原理
Jul 02 Javascript
对Vue2 自定义全局指令Vue.directive和指令的生命周期介绍
Aug 30 Javascript
微信小程序实现文字跑马灯
May 26 Javascript
JavaScript 接口原理与用法实例详解
May 12 Javascript
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
我的论坛源代码(五)
2006/10/09 PHP
一道关于php变量引用的面试题
2010/08/08 PHP
PHP中最容易忘记的一些知识点总结
2013/04/28 PHP
基于php中使用excel的简单介绍
2013/08/02 PHP
WordPress的文章自动添加关键词及关键词的SEO优化
2016/03/01 PHP
PHP 中常量的知识整理
2017/04/14 PHP
PHP使用第三方即时获取物流动态实例详解
2017/04/27 PHP
XRegExp 0.2: Now With Named Capture
2007/11/30 Javascript
把html页面的部分内容保存成新的html文件的jquery代码
2009/11/12 Javascript
Script的加载方法小结
2011/01/12 Javascript
jquery maxlength使用说明
2011/09/09 Javascript
Highcharts 非常实用的Javascript统计图demo示例
2013/07/03 Javascript
JavaScript获取客户端计算机硬件及系统等信息的方法
2014/01/02 Javascript
jQuery中prev()方法用法实例
2015/01/08 Javascript
jQuery仿gmail实现fixed布局的方法
2015/05/27 Javascript
动态加载jQuery的方法
2015/06/16 Javascript
JS简单编号生成器实现方法(附demo源码下载)
2016/04/05 Javascript
jQuery EasyUI封装简化操作
2016/09/18 Javascript
jQuery实现验证码功能
2017/03/17 Javascript
jQuery EasyUI tree增加搜索功能的实现方法
2017/04/27 jQuery
微信小程序开发中的疑问解答汇总
2017/07/03 Javascript
讲解vue-router之命名路由和命名视图
2018/05/28 Javascript
js使用ajax传值给后台,后台返回字符串处理方法
2018/08/08 Javascript
jQuery仿移动端支付宝键盘的实现代码
2018/08/15 jQuery
微信小程序Flex布局用法深入浅出分析
2019/04/25 Javascript
[58:59]完美世界DOTA2联赛PWL S3 access vs CPG 第一场 12.13
2020/12/16 DOTA
python基础教程之循环介绍
2014/08/29 Python
python写入数据到csv或xlsx文件的3种方法
2019/08/23 Python
python opencv实现直线检测并测出倾斜角度(附源码+注释)
2020/12/31 Python
培训主管的岗位职责
2013/11/23 职场文书
交通法规咨询中心工作职责
2013/11/27 职场文书
乡镇纠风工作实施方案
2014/03/22 职场文书
教师廉洁自律承诺书
2014/05/26 职场文书
2014个人年度工作总结范文
2014/12/24 职场文书
2015学习委员工作总结范文
2015/04/03 职场文书
小学音乐课歌曲《堆雪人》教学反思
2016/02/18 职场文书