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 上万关键字瞬间匹配实现代码
Jul 07 Javascript
JS模拟自动点击的简单实例
Aug 08 Javascript
jQuery表单域选择器用法分析
Feb 10 Javascript
基于replaceChild制作简单的吞噬特效
Sep 21 Javascript
整理关于Bootstrap过渡动画的慕课笔记
Mar 29 Javascript
angular框架实现全选与单选chekbox的自定义
Jul 06 Javascript
JavaScript中重名的函数与对象示例详析
Sep 28 Javascript
zTree 树插件实现全国五级地区点击后加载的示例
Feb 05 Javascript
jQuery实现的点击标题文字切换字体效果示例【测试可用】
Apr 26 jQuery
关于vue编译版本引入的问题的解决
Sep 17 Javascript
node.js实现为PDF添加水印的示例代码
Dec 05 Javascript
vue切换菜单取消未完成接口请求的案例
Nov 13 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脚本的10个技巧(1)
2006/10/09 PHP
php使用Smarty的相关注意事项及访问变量的几种方式
2011/12/08 PHP
PHP简单读取PDF页数的实现方法
2016/07/21 PHP
利用PHP判断文件是否为图片的方法总结
2017/01/06 PHP
php使用PDO事务配合表格读取大量数据插入操作实现方法
2017/02/16 PHP
PHP中关于php.ini参数优化详解
2020/02/28 PHP
javascript multibox 全选
2009/03/22 Javascript
基于jQuery的实现简单的分页控件
2010/10/10 Javascript
JS中的this变量的使用介绍
2013/10/21 Javascript
JavaScript用select实现日期控件
2015/07/17 Javascript
原生js实现图片层叠轮播切换效果
2016/02/02 Javascript
js中 计算两个日期间的工作日的简单实例
2016/08/08 Javascript
JQuery学习总结【一】
2016/12/01 Javascript
JS限制条件补全问题实例分析
2016/12/16 Javascript
angular forEach方法遍历源码解读
2017/01/25 Javascript
vue中七牛插件使用的实例代码
2017/07/28 Javascript
javascript中神奇的 Date对象小结
2017/10/12 Javascript
初探js和简单隐藏效果的实例
2017/11/23 Javascript
NodeJs实现简易WEB上传下载服务器
2019/08/10 NodeJs
Layui table field初始化加载时进行隐藏的方法
2019/09/19 Javascript
JavaScript函数柯里化实现原理及过程
2020/12/02 Javascript
[00:57]深扒TI7聊天轮盘语音出处5
2017/05/11 DOTA
详解python脚本自动生成需要文件实例代码
2017/02/04 Python
pandas or sql计算前后两行数据间的增值方法
2018/04/20 Python
Python入门Anaconda和Pycharm的安装和配置详解
2019/07/16 Python
Pytorch数据拼接与拆分操作实现图解
2020/04/30 Python
django 外键创建注意事项说明
2020/05/20 Python
Lombok插件安装(IDEA)及配置jar包使用详解
2020/11/04 Python
美国羊皮公司:Overland
2018/01/15 全球购物
戴森比利时官方网站:Dyson BE
2020/10/03 全球购物
.NET现在共支持多少种语言
2014/02/26 面试题
新闻学毕业生自荐信
2013/11/15 职场文书
教育学专业毕业生的自我评价
2013/11/21 职场文书
公安机关起诉意见书
2015/05/20 职场文书
校长新学期致辞
2015/07/30 职场文书
Java8利用Stream对列表进行去除重复的方法详解
2022/04/14 Java/Android