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 相关文章推荐
js表格分页实现代码
Sep 18 Javascript
Jquery替换已存在于element上的event的方法
Mar 09 Javascript
Jquery 扩展方法
May 06 Javascript
jquery中防刷IP流量软件影响统计的一点对策
Jul 10 Javascript
javascript 实现简单的table排序及table操作练习
Dec 28 Javascript
不用构造函数(Constructor)new关键字也能实现JavaScript的面向对象
Jan 11 Javascript
JavaScript使用addEventListener添加事件监听用法实例
Jun 01 Javascript
举例简介AngularJS的内部语言环境
Jun 17 Javascript
基于JavaScript实现拖动滑块效果
Feb 16 Javascript
Angular.js去除页面中显示的空行方法示例
Mar 30 Javascript
一起写一个即插即用的Vue Loading插件实现
Oct 31 Javascript
jquery获取input输入框中的值
Nov 13 jQuery
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
咖啡因含量是由谁决定的?低因咖啡怎么来?低因咖啡适合什么人喝
2021/03/06 新手入门
php radio 单选框获取与保持值的实现代码
2010/05/15 PHP
session在PHP大型web应用中的使用
2011/06/25 PHP
php计划任务之ignore_user_abort函数实现方法
2015/01/08 PHP
PHP新建类问题分析及解决思路
2015/11/19 PHP
不错的新闻标题颜色效果
2006/12/10 Javascript
jQuery建立一个按字母顺序排列的友好页面索引(兼容IE6/7/8)
2013/02/26 Javascript
JS 实现导航栏悬停效果(续)
2013/09/24 Javascript
浅析vue component 组件使用
2017/03/06 Javascript
轻松理解JavaScript之AJAX
2017/03/15 Javascript
json的结构与遍历方法实例分析
2017/04/25 Javascript
Angular2学习教程之TemplateRef和ViewContainerRef详解
2017/05/25 Javascript
nodejs构建本地web测试服务器 如何解决访问静态资源问题
2017/07/14 NodeJs
基于input动态模糊查询的实现方法
2017/12/12 Javascript
微信小程序学习笔记之函数定义、页面渲染图文详解
2019/03/28 Javascript
[57:53]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#3OG VS VP
2016/03/03 DOTA
[00:36]TI7不朽珍藏III——斯温不朽展示
2017/07/15 DOTA
[46:47]完美世界DOTA2联赛PWL S2 FTD vs Magma 第二场 11.20
2020/11/23 DOTA
使用python Django做网页
2013/11/04 Python
使用Python的Tornado框架实现一个一对一聊天的程序
2015/04/25 Python
OpenCV+python手势识别框架和实例讲解
2018/08/03 Python
Python实现查询某个目录下修改时间最新的文件示例
2018/08/29 Python
Python实现的合并两个有序数组算法示例
2019/03/04 Python
Python中asyncio模块的深入讲解
2019/06/10 Python
python实现键盘输入的实操方法
2019/07/16 Python
中年人生感言
2014/02/04 职场文书
记帐员岗位责任制
2014/02/08 职场文书
党员干部2014全国两会学习心得体会
2014/03/10 职场文书
绩效管理实施方案
2014/03/19 职场文书
个人公开承诺书
2014/03/28 职场文书
职业生涯规划书前言
2014/04/15 职场文书
办理信用卡收入证明范例
2014/09/13 职场文书
毕业班工作总结
2015/08/10 职场文书
幼儿园教师教育随笔
2015/08/14 职场文书
普希金的诗歌赏析(3首)
2019/08/20 职场文书
Python中Permission denied的解决方案
2021/04/02 Python