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 相关文章推荐
filemanage功能中用到的common.js
Apr 08 Javascript
开发跨浏览器javascript常见注意事项
Jan 01 Javascript
JS之Date对象和获取系统当前时间详解
Jan 13 Javascript
实例讲解使用原生JavaScript处理AJAX请求的方法
May 10 Javascript
Spring shiro + bootstrap + jquery.validate 实现登录、注册功能
Jun 02 jQuery
bootstrap table实现点击翻页功能 可记录上下页选中的行
Sep 28 Javascript
Vue实现带进度条的文件拖动上传功能
Feb 23 Javascript
Vue自定义指令上报Google Analytics事件统计的方法
Feb 25 Javascript
微信小程序分享功能onShareAppMessage(options)用法分析
Apr 24 Javascript
Vue Echarts实现可视化世界地图代码实例
May 07 Javascript
JS开发常用工具函数(小结)
Jul 04 Javascript
vue v-for直接循环数字实例
Nov 07 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环境――Appserv
2006/12/13 PHP
PHP写MySQL数据 实现代码
2009/06/15 PHP
PHP中改变图片的尺寸大小的代码
2011/07/17 PHP
php jquery 多文件上传简单实例
2013/12/23 PHP
php+js实现异步图片上传实例分享
2014/06/02 PHP
CodeIgniter生成静态页的方法
2016/05/17 PHP
php实现购物车产品删除功能(2)
2020/07/23 PHP
php 使用 __call实现重载功能示例
2019/11/18 PHP
js 操作select与option(示例讲解)
2013/12/20 Javascript
jQuery产品间断向下滚动效果核心代码
2014/05/08 Javascript
Javascript实现简单二级下拉菜单实例
2014/06/15 Javascript
JS实现简单的顶部定时关闭层效果
2014/06/15 Javascript
JS动态增删表格行的方法
2016/03/03 Javascript
jQuery技巧之让任何组件都支持类似DOM的事件管理
2016/04/05 Javascript
微信小程序 template模板详解及实例
2017/02/21 Javascript
vue2.0 自定义日期时间过滤器
2017/06/07 Javascript
React中嵌套组件与被嵌套组件的通信过程
2018/07/11 Javascript
vue基础之v-bind属性、class和style用法分析
2019/03/11 Javascript
修改NPM全局模式的默认安装路径的方法
2020/12/15 Javascript
Python入门篇之编程习惯与特点
2014/10/17 Python
Python中使用scapy模拟数据包实现arp攻击、dns放大攻击例子
2014/10/23 Python
微信跳一跳python辅助脚本(总结)
2018/01/11 Python
使用Python实现租车计费系统的两种方法
2018/09/29 Python
Expected conditions模块使用方法汇总代码解析
2020/08/13 Python
Python直接赋值及深浅拷贝原理详解
2020/09/05 Python
Bjorn Borg官方网上商店:国际运动时尚品牌
2016/08/27 全球购物
adidas美国官网:adidas US
2016/09/21 全球购物
法国足球商店:Footcenter
2019/07/06 全球购物
英国家居装饰品、户外家具和玻璃器皿购物网站:Rinkit.com
2019/11/04 全球购物
幼儿教师师德师风演讲稿
2014/08/22 职场文书
2015年质量月活动总结报告
2015/03/27 职场文书
2015年预算员工作总结
2015/05/14 职场文书
2019广播稿怎么写
2019/04/17 职场文书
Python 如何解决稀疏矩阵运算
2021/05/26 Python
Nginx实现会话保持的两种方式
2022/03/18 Servers
python实现会员管理系统
2022/03/18 Python