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变强势
Jun 22 Javascript
用AJAX返回HTML片段中的JavaScript脚本
Jan 04 Javascript
jQuery中document与window以及load与ready 区别详解
Dec 29 Javascript
jQuery获取当前点击的对象元素(实现代码)
May 19 Javascript
JavaScript基本类型值-Undefined、Null、Boolean
Feb 23 Javascript
使用Browserify来实现CommonJS的浏览器加载方法
May 14 Javascript
Angular限制input框输入金额(是小数的话只保留两位小数点)
Jul 13 Javascript
自制简易打赏功能的实例
Sep 02 Javascript
微信小程序实现美团菜单
Jun 06 Javascript
koa2 从入门到精通(小结)
Jul 23 Javascript
vscode调试node.js的实现方法
Mar 22 Javascript
vue 基于abstract 路由模式 实现页面内嵌的示例代码
Dec 14 Vue.js
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
雄兵连:天使彦天使彦为爱折翼,彦和炙心同时念动的誓言!
2020/03/02 国漫
ThinkPHP中的系统常量和预定义常量集合
2014/07/01 PHP
浅谈PHP定义命令空间的几个注意点(推荐)
2016/10/29 PHP
学习ExtJS 访问容器对象
2009/10/07 Javascript
js获取图片长和宽度的代码
2009/11/24 Javascript
js实现连个数字相加而不是拼接的方法
2014/02/23 Javascript
js不能获取隐藏的div的宽度只能先显示后获取
2014/09/04 Javascript
JS实现自动变化的导航菜单效果代码
2015/09/09 Javascript
自定义Angular指令与jQuery实现的Bootstrap风格数据双向绑定的单选与多选下拉框
2015/12/12 Javascript
让你一句话理解闭包(简单易懂)
2016/06/03 Javascript
js显示动态时间的方法详解
2016/08/20 Javascript
如何通过非数字与字符的方式实现PHP WebShell详解
2017/07/02 Javascript
详解vue渲染从后台获取的json数据
2017/07/06 Javascript
Angular中封装fancyBox(图片预览)遇到问题小结
2017/09/01 Javascript
bootstrap Table服务端处理分页(后台是.net)
2017/10/19 Javascript
jQuery基于闭包实现的显示与隐藏div功能示例
2018/06/09 jQuery
bootstrap模态框弹出和隐藏,动态改变中间内容的实例
2018/08/10 Javascript
electron中使用bootstrap的示例代码
2018/11/06 Javascript
详解如何创建并发布一个 vue 组件
2018/11/08 Javascript
vue通过指令(directives)实现点击空白处收起下拉框
2018/12/06 Javascript
vue-cli2 构建速度优化的实现方法
2019/01/08 Javascript
微信小程序如何调用新闻接口实现列表循环
2019/07/02 Javascript
Python自定义函数的创建、调用和函数的参数详解
2014/03/11 Python
python编写的最短路径算法
2015/03/25 Python
解决Python print 输出文本显示 gbk 编码错误问题
2018/07/13 Python
Python使用requests提交HTTP表单的方法
2018/12/26 Python
Python实现带下标索引的遍历操作示例
2019/05/30 Python
Windows10+anacond+GPU+pytorch安装详细过程
2020/03/24 Python
CSS3 :nth-child()伪类选择器实现奇偶行显示不同样式
2013/11/05 HTML / CSS
谈谈对css属性box-sizing的了解
2017/01/04 HTML / CSS
导出HTML5 Canvas图片并上传服务器功能
2019/08/16 HTML / CSS
phpquery中文手册
2021/03/18 PHP
介绍一下代理模式(Proxy)
2014/10/17 面试题
机关驾驶员违规检讨书
2014/09/13 职场文书
材料采购员岗位职责
2015/04/03 职场文书
详解Django的MVT设计模式
2021/04/29 Python