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 05 Javascript
JS 自定义带默认值的函数
Jul 21 Javascript
基于JavaScript实现继承机制之调用call()与apply()的方法详解
May 07 Javascript
JavaScript显示当然日期和时间即年月日星期和时间
Oct 29 Javascript
jQuery的Ajax用户认证和注册技术实例教程(附demo源码)
Dec 08 Javascript
jquery中键盘事件小结
Feb 24 Javascript
浅析Node.js:DNS模块的使用
Nov 23 Javascript
利用JS测试目标网站的打开响应速度
Dec 01 Javascript
基于vue打包后字体和图片资源失效问题的解决方法
Mar 06 Javascript
JS获取input[file]的值并显示在页面的实现方法
Mar 09 Javascript
node和vue实现商城用户地址模块
Dec 05 Javascript
jQuery实现手风琴效果(蒙版)
Jan 11 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
php UTF8 文件的签名问题
2009/10/30 PHP
PHP实现定时执行任务的方法
2014/10/05 PHP
PHP查看当前变量类型的方法
2015/07/31 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
2020/02/29 PHP
javascript编程起步(第六课)
2007/02/27 Javascript
JavaScript 三种创建对象的方法
2009/10/16 Javascript
jquery 模拟雅虎首页的点击对话框效果
2010/04/11 Javascript
Android中资源文件(非代码部分)的使用概览
2012/12/18 Javascript
jquery高效反选具体实现
2013/05/05 Javascript
在javaScript中关于submit和button的区别介绍
2013/10/20 Javascript
css与javascript跨浏览器兼容性总结
2014/09/15 Javascript
JavaScript异步加载浅析
2014/12/28 Javascript
JQuery自适应窗口大小导航菜单附源码下载
2015/09/01 Javascript
jQuery实现Meizu魅族官方网站的导航菜单效果
2015/09/14 Javascript
JavaScrpt判断一个数是否是质数的实例代码
2017/06/11 Javascript
浅谈Express异步进化史
2017/09/09 Javascript
ES6中Array.copyWithin()函数的用法实例详解
2017/09/16 Javascript
vue实现滑动到底部加载更多效果
2020/10/27 Javascript
在webstorm中配置less的方法详解
2020/09/25 Javascript
[57:38]2018DOTA2亚洲邀请赛3月30日 小组赛A组 OpTic VS OG
2018/03/31 DOTA
Python实现计算圆周率π的值到任意位的方法示例
2018/05/08 Python
Python基于win32ui模块创建弹出式菜单示例
2018/05/09 Python
局域网内python socket实现windows与linux间的消息传送
2019/04/19 Python
python腾讯语音合成实现过程解析
2019/08/01 Python
PyTorch中的Variable变量详解
2020/01/07 Python
Python下利用BeautifulSoup解析HTML的实现
2020/01/17 Python
tensorflow的ckpt及pb模型持久化方式及转化详解
2020/02/12 Python
Python中socket网络通信是干嘛的
2020/05/27 Python
Django model class Meta原理解析
2020/11/14 Python
施华洛世奇意大利官网:SWAROVSKI意大利
2018/07/23 全球购物
英国门销售网站:Green Tree Doors
2020/01/07 全球购物
中华魂演讲稿
2014/05/13 职场文书
公务员四风问题对照检查材料整改措施
2014/09/26 职场文书
2014年班级工作总结
2014/11/14 职场文书
2015年团支部年度工作总结
2015/05/27 职场文书
心理健康教育主题班会
2015/08/13 职场文书