Home  >  Article  >  Web Front-end  >  Detailed explanation of Angular's implementation of schedule function (can add and hide display content)

Detailed explanation of Angular's implementation of schedule function (can add and hide display content)

小云云
小云云Original
2017-12-27 15:03:151946browse

This article mainly introduces the schedule function implemented by Angular, with the function of adding content to the schedule and hiding the displayed content, and involves implementation techniques related to AngularJS event response and dynamic operation of page elements. Friends in need can refer to it. I hope Can help everyone.

The example in this article describes the schedule function implemented by Angular. Share it with everyone for your reference, the details are as follows:

Let’s take a look at the running effect first:

The specific code is as follows:

<!DOCTYPE html> 
<html> 
<head> 
  <meta charset="UTF-8"> 
  <title>www.jb51.net 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> 
<p> 
  <input type="text" ng-model="action"><button ng-click="add()">添加</button> 
</p> 
<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> 
<p>显示全部<input type="checkbox" ng-model="complate"></p> 
</body> 
</html>

Related Recommended:

PHP development and production of a simple activity schedule Calendar

PHP development and production of a simple activity schedule Calendar, schedule calendar_PHP Tutorial

Detailed examples of Angular implementation of more complex table filtering and deletion functions

The above is the detailed content of Detailed explanation of Angular's implementation of schedule function (can add and hide display content). For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn