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 对象的属性和方法4种不同的类型
Mar 19 Javascript
JQuery拖拽元素改变大小尺寸实现代码
Dec 10 Javascript
javascript中解析四则运算表达式的算法和示例
Aug 11 Javascript
javascript实时显示北京时间的方法
Mar 12 Javascript
详解JavaScript语言的基本语法要求
Nov 20 Javascript
批量下载对路网图片并生成html的实现方法
Jun 07 Javascript
原生JS实现轮播效果+学前端的感受(防止走火入魔)
Aug 21 Javascript
详解Eslint 配置及规则说明
Sep 10 Javascript
vue移动端弹框组件的实例
Sep 25 Javascript
js实现ajax的用户简单登入功能
Jun 18 Javascript
vue 点击其他区域关闭自定义div操作
Jul 17 Javascript
nuxt 自定义 auth 中间件实现令牌的持久化操作
Nov 05 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
PHP下利用shell后台运行PHP脚本,并获取该脚本的Process ID的代码
2011/09/19 PHP
php使用number_format函数截取小数的方法分析
2016/05/27 PHP
PHP数据库表操作的封装类及用法实例详解
2016/07/12 PHP
CI框架(CodeIgniter)操作redis的方法详解
2018/01/25 PHP
Jquery.addClass始终无效原因分析
2013/09/08 Javascript
js 声明数组和向数组中添加对象变量的简单实例
2016/07/28 Javascript
Vue.JS入门教程之处理表单
2016/12/01 Javascript
jQuery实现花式轮播之圣诞节礼物传送效果
2016/12/25 Javascript
JavaScript实现事件的中断传播和行为阻止方法示例
2017/01/20 Javascript
JS判断指定dom元素是否在屏幕内的方法实例
2017/01/23 Javascript
Bootstrap学习笔记之进度条、媒体对象实例详解
2017/03/09 Javascript
js实现本地图片文件拖拽效果
2017/07/18 Javascript
简易Vue评论框架的实现(父组件的实现)
2018/01/08 Javascript
Angularjs Promise实例详解
2018/03/15 Javascript
纯javascript实现选择框的全选与反选功能
2019/04/08 Javascript
layui form表单提交之后重新加载数据表格的方法
2019/09/11 Javascript
JS实现随机抽取三人
2019/11/06 Javascript
Vue简单实现原理详解
2020/05/07 Javascript
[36:16]完美世界DOTA2联赛PWL S3 access vs Rebirth 第一场 12.19
2020/12/24 DOTA
pytorch中如何使用DataLoader对数据集进行批处理的方法
2019/08/06 Python
Python scipy的二维图像卷积运算与图像模糊处理操作示例
2019/09/06 Python
Python Selenium模块安装使用教程详解
2020/07/09 Python
python GUI计算器的实现
2020/10/09 Python
Python 实现一个简单的web服务器
2021/01/03 Python
美国美发品牌:Bumble and Bumble
2016/10/08 全球购物
请用Java实现列出某个目录下的所有文件
2013/09/23 面试题
管理信息系学生的自我评价
2014/01/11 职场文书
互联网创业计划书写作技巧攻略
2014/03/23 职场文书
县委常委班子对照检查材料思想汇报
2014/09/28 职场文书
2014年女职工工作总结
2014/11/27 职场文书
2014年卫生保健工作总结
2014/12/08 职场文书
2015元旦文艺汇演主持稿(开场白+结束语)
2014/12/14 职场文书
合作协议书格式范本
2016/03/21 职场文书
Python Pandas知识点之缺失值处理详解
2021/05/11 Python
mysql字段为NULL索引是否会失效实例详解
2022/05/30 MySQL
Win10玩csgo闪退如何解决?Win10玩csgo闪退的解决方法
2022/07/23 数码科技