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 Ajax之$.get()方法和$.post()方法
Oct 12 Javascript
javascript 动态设置已知select的option的value值的代码
Dec 16 Javascript
基于jQuery的公告无限循环滚动实现代码
May 11 Javascript
js日期对象兼容性的处理方法
Jan 28 Javascript
不得不分享的JavaScript常用方法函数集(下)
Dec 25 Javascript
微信小程序 图片边框解决方法
Jan 16 Javascript
JQueryMiniUI按照时间进行查询的实现方法
Jun 07 jQuery
JS实现微信摇一摇原理解析
Jul 22 Javascript
hammer.js实现图片手势放大效果
Aug 29 Javascript
layui 中select下拉change事件失效的解决方法
Sep 20 Javascript
jQuery实现验证用户登录
Dec 10 jQuery
vue中解决chrome浏览器自动播放音频和MP3语音打包到线上的实现方法
Oct 09 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
牡丹941资料
2021/03/01 无线电
PHP+MySQL 制作简单的留言本
2009/11/02 PHP
PHP删除特定数组内容并且重建数组索引的方法.
2011/03/25 PHP
解析dedeCMS验证码的实现代码
2013/06/07 PHP
PHP中ltrim与rtrim去除左右空格及特殊字符实例
2016/01/07 PHP
Avengerls vs Newbee BO3 第二场2.18
2021/03/10 DOTA
javascript实现二分查找法实现代码
2007/11/12 Javascript
Javascript 定时器调用传递参数的方法
2009/11/12 Javascript
Javascript事件实例详解
2013/11/06 Javascript
jQuery实现下拉框左右选择的简单实例
2014/02/22 Javascript
javascript实现密码强度显示
2015/03/18 Javascript
解决WordPress使用CDN后博文无法评论的错误
2015/12/15 Javascript
JS获取html元素的标记名实现方法
2016/10/08 Javascript
bootstrap配合Masonry插件实现瀑布式布局
2017/01/18 Javascript
Vue用v-for给src属性赋值的方法
2018/03/03 Javascript
微信小程序下拉框功能的实例代码
2018/11/06 Javascript
ES6的解构赋值实例详解
2019/05/06 Javascript
JavaScript中this的全面解析及常见实例
2019/05/14 Javascript
一篇文章弄懂javascript中的执行栈与执行上下文
2019/08/09 Javascript
JS实现4位随机验证码
2020/10/19 Javascript
在VUE中使用lodash的debounce和throttle操作
2020/11/09 Javascript
python获取当前时间对应unix时间戳的方法
2015/05/15 Python
5分钟 Pipenv 上手指南
2018/12/20 Python
python进程的状态、创建及使用方法详解
2019/12/06 Python
使用Python脚本从文件读取数据代码实例
2020/01/19 Python
pip安装tensorflow的坑的解决
2020/04/19 Python
Python操作MySQL数据库的示例代码
2020/07/13 Python
Java中的异常处理机制的简单原理和应用
2013/04/27 面试题
数控加工专业毕业生自荐信
2013/09/27 职场文书
新文化运动的口号
2014/06/21 职场文书
大学生职业生涯规划大赛作品(精品)
2014/09/17 职场文书
2015年入党积极分子评语
2015/03/26 职场文书
初中教务主任竞聘演讲稿(范文)
2019/08/20 职场文书
Java新手教程之ArrayList的基本使用
2021/06/20 Java/Android
react 路由Link配置详解
2021/11/11 Javascript
Appium中scroll和drag_and_drop根据元素位置滑动
2022/02/15 Python