AngularJS+日程表+显示、隐藏 +orderBy排序

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>日程表</title>
    <script src="../angular-1.5.5/angular.min.js"></script>
    <script>
        var data = {
            user:"李四",
            items:[
                {action:"约刘诗诗吃饭",done:false},
                {action:"约刘诗诗跳舞",done:false},
                {action:"约刘诗诗敲代码",done:true},
                {action:"约刘诗诗爬长城",done:false},
                {action:"约刘诗诗逛天坛",done:false},
                {action:"约刘诗诗看电影",done:false}
            ]
        };
        var app = angular.module("myapp",[]);
        app.filter("todo",function () {
            return function (a,flag) {
                var arr = [];
                for (var i=0;i<a.length;i++){
                    if (a[i].done == false){
                        arr.push(a[i]);
                    } else {
                        if (flag == true){
                            arr.push(a[i]);
                        }
                    }
                }
                return arr;
            }
        })
        app.controller("mycont",function ($scope) {
            $scope.data = data;
            $scope.count = function () {
                var n = 0;
                for (var i=0;i<data.items.length;i++){
                    if (data.items[i].done == false){
                        n++;
                    }
                }
                return n;
            }
            $scope.add = function () {
                $scope.data.items.push({action:$scope.additem,done:false});
            }
        })
    </script>
</head>
<body ng-app="myapp" ng-controller="mycont">
<h2>{{data.user}}的日程<span>{{count}}</span></h2>
 <input type="text" ng-model="additem">
  <button ng-click="add()">添加</button>
 <table border="soild 1px #000" cellpadding="10" cellspacing="0">
     <thead>
     <tr>
         <th>序号</th>
         <th>日程</th>
         <th>完成</th>
     </tr>
     </thead>
     <tbody>
     <tr ng-repeat="item in data.items|todo: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>


orderBy排序
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>表格排序</title>
    <script src="../angular-1.5.5/angular.min.js"></script>
    <script>
        var app = angular.module("myapp",[]);
        app.controller("mycont",function ($scope) {
            $scope.arr = ["1","2","3","4"];
            $scope.data = [{
                "name":"zs",
                "age":"20",
                "sex":"boy",
                "salary":"15000"
            },{
                "name":"ls",
                "age":"22",
                "sex":"boy",
                "salary":"13000"
            },{
                "name":"ww",
                "age":"18",
                "sex":"girl",
                "salary":"12000"
            }];
            $scope.ins="";
            $scope.revers = false;
            $scope.sortColumn = "name";
            $scope.sort = function (count) {
                if($scope.sortColumn == count){
                    $scope.revers=!$scope.revers;
                }
                $scope.sortColumn = count;
            }
        })
        app.filter("word",function () {
            return function (msg,flag) {
                return msg.replace(/枪|法功/g,flag);
            }
        })
        app.filter("word2",function () {
            return function (msg,flag) {
                return msg.replace(/枪|法功/g,function () {
                    var contant = "";
                    for (var i = 0; i < word.length; i++){
                        contant+="*";
                    }
                    return contant;
                });
            }
        })
    </script>
</head>
<body ng-app="myapp" ng-controller="mycont">
	//自定义过滤器
    <p>{{1000|currency:"¥"}}</p>
    <p>{{"Hello"|uppercase}}</p>
    <p>{{"Hello"|lowercase}}</p>
    <p>{{1507774056568|date:"yyyy-MM-dd hh-ss-mm EEE"}}</p>
    <ul>
        <li ng-repeat="item in arr|limitTo:2">{{item}}</li>
    </ul>
    <input type="text" ng-model="search">
    <table cellpadding="10" cellspacing="0" border="solid 1px #000" >
        <thead>
        <tr>
            <th ng-click="sort('name')">姓名</th>
            <th ng-click="sort('age')">年龄</th>
            <th ng-click="sort('sex')">性别</th>
            <th ng-click="sort('salary')">薪资</th>
        </tr>
        </thead>
        <tbody>
        <tr ng-repeat="item in data|filter:{name:search}|orderBy:sortColumn:revres">
            <td>{{item.name}}</td>
            <td>{{item.age}}</td>
            <td>{{item.sex}}</td>
            <td>{{item.salary}}</td>
        </tr>
        </tbody>
    </table>
    <input type="text" ng-model="ins">
    <p>{{ins|word:'#'}}</p>
    <p>{{ins|word2}}</p>
</body>
</html>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue3 和 Vite 是构建现代 Web 应用的强大工具组合。 **Vue3**: Vue.js 是一套用于构建用户界面的渐进式框架。Vue 的核心库只关注视图层,并且能够很容易与其他库或已有项目整合。Vue3 特别强调了性能优化、组件化设计以及类型系统的集成能力,使得它在构建复杂应用时非常高效。 Vue3 提供了许多新特性,如自定义指令(Custom Directives)、响应式系统改进等,进一步提高了开发效率和用户体验。在构建日程表应用时,Vue3 可以帮助开发者快速搭建出功能丰富、交互流畅的应用界面。 **Vite**: Vite 是由 Vue 团队推出的一个新的前端构建工具,专为提升开发者的生产力而设计。Vite 提供了极快的开发环境启动速度、高效的热模块替换机制,以及对现代浏览器和 Node.js 兼容性的强大支持。这使得开发者可以在编写代码的同时立即看到结果,极大地提升了迭代速度。 对于日程表应用而言,Vite 的高效率可以显著减少开发过程中的等待时间,提高开发体验。同时,Vite 对 ES 模块的支持使其能直接引入现代 JavaScript 库和框架的最新版本,无需额外转换步骤。 结合 Vue3 和 Vite 构建日程表应用的过程大致包括以下几个步骤: 1. **选择合适的库和技术栈**:根据应用的需求,选择合适的 UI 组件库(例如 Element Plus 或 Ant Design Vue 等),以及数据库解决方案(例如 MySQL、MongoDB 等)。 2. **配置 Vite**:设置 Vite 的基本配置文件 `vite.config.js`,添加必要的插件和支持,比如自动导入样式和脚本、按需加载等,以优化开发流程。 3. **编码日程管理功能**:利用 Vue3 的模板语法和组件化特点,设计并实现日程列表显示、新增、编辑、删除等功能。通过 Vue 的响应式系统处理数据绑定和状态更新,保证页面实时反映用户的操作。 4. **实现日程详情页**:创建单独的日程详情组件,展示特定日程的详细信息,允许用户查看、编辑、完成或取消日程。 5. **添加日期筛选和排序功能**:实现基于日期的筛选和排序功能,让用户可以根据需要调整日程列表的显示。 6. **部署应用**:使用 Vite 提供的简单部署选项将应用打包并部署到服务器上,确保所有功能都能正常工作。 7. **持续优化**:随着应用的使用反馈,不断收集需求并优化应用性能和用户体验,增加更多实用功能。 **相关问题**: 1. 在使用 Vue3 和 Vite 构建应用程序时如何有效管理状态? 2. 如何利用 Vite 实现更高效的开发环境启动速度? 3. Vue3 中的哪些特性特别适合构建日程管理应用? 请参考上述指南开始您的 Vue3 + Vite 日程表应用开发之旅。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值