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 validate和jquery form 插件组合实现验证表单后AJAX提交
Aug 26 Javascript
javascript基础语法学习笔记
Jan 04 Javascript
jQuery simplePage+AJAX plus分页插件用法实例
Feb 17 Javascript
使用Bootstrap框架制作查询页面的界面实例代码
May 27 Javascript
AngularJS基础 ng-paste 指令简单示例
Aug 02 Javascript
解决浏览器会自动填充密码的问题
Apr 28 Javascript
JS实现仿饿了么在浏览器标签页失去焦点时网页Title改变
Jun 01 Javascript
Angular2学习笔记之数据绑定的示例代码
Jan 03 Javascript
微信小程序scroll-view组件实现滚动动画
Jan 31 Javascript
详解如何在Vue项目中发送jsonp请求
Oct 25 Javascript
分享JS表单验证源码(带错误提示及密码等级)
Jan 05 Javascript
vue点击Dashboard不同内容 跳转到同一表格的实例
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中feof()函数实例测试
2014/08/23 PHP
PHP中使用hidef扩展代替define提高性能
2015/04/09 PHP
php中foreach结合curl实现多线程的方法分析
2016/09/22 PHP
laravel5使用freetds连接sql server的方法
2018/12/07 PHP
Laravel框架源码解析之入口文件原理分析
2020/05/14 PHP
IE8 引入跨站数据获取功能说明
2008/07/22 Javascript
javascript对JSON数据排序的3个例子
2014/04/12 Javascript
基于JavaScript实现网页倒计时自动跳转代码
2015/12/28 Javascript
jquery使用Cookie和JSON记录用户最近浏览历史
2016/04/19 Javascript
javascript实现起伏的水波背景效果
2016/05/16 Javascript
原生JS查找元素的方法(推荐)
2016/11/22 Javascript
js获取浏览器的各种属性
2017/04/27 Javascript
vue计算属性时v-for处理数组时遇到的一个bug问题
2018/01/21 Javascript
详解Vue中组件的缓存
2019/04/20 Javascript
vue点击当前路由高亮小案例
2019/09/26 Javascript
Javascript中的this,bind和that使用实例
2019/12/05 Javascript
JS数组转字符串实现方法解析
2020/09/04 Javascript
[01:08:32]DOTA2-DPC中国联赛 正赛 DLG vs PHOENIX BO3 第二场 1月18日
2021/03/11 DOTA
Python中unittest用法实例
2014/09/25 Python
python与C互相调用的方法详解
2017/07/14 Python
详解Python最长公共子串和最长公共子序列的实现
2018/07/07 Python
Python获取命令实时输出-原样彩色输出并返回输出结果的示例
2019/07/11 Python
windows、linux下打包Python3程序详细方法
2020/03/17 Python
python使用for...else跳出双层嵌套循环的方法实例
2020/05/17 Python
AE美国鹰美国官方网站:American Eagle Outfitters
2016/08/22 全球购物
英国电气世界:Electrical World
2019/09/08 全球购物
毕业生个人求职的自我评价
2013/10/28 职场文书
高二化学教学反思
2014/01/30 职场文书
创业者是否需要商业计划书?
2014/02/07 职场文书
构建高效课堂实施方案
2014/03/13 职场文书
元旦联欢会主持词
2014/03/26 职场文书
党员个人自我剖析材料
2014/10/08 职场文书
群众路线教育实践活动方案
2014/10/31 职场文书
解决vue $http的get和post请求跨域问题
2021/06/07 Vue.js
Java Spring 控制反转(IOC)容器详解
2021/10/05 Java/Android
Python&Matlab实现灰狼优化算法的示例代码
2022/03/21 Python