AngularJS 实现管理系统中的增删改查

  前 言

AngularJS

在一个管理系统中,不外乎都是增删改查。

现在有如下图书管理系统,实现简单的增删改查。

需要用到bootstrap.css 、angular.js和angular-route.js

代码:

<body ng-app="app" ng-controller="ctrl">
        
        <div class="container" >
            <div class="row">
                <div class="col-xs-2">
                    <div class="list-group">
                      <a class="list-group-item active">
                            操作列表
                      </a>
                      <a href="#/" class="list-group-item">返回首页</a>
                      <a href="#/all" class="list-group-item">全部图书</a>
                      <a href="#/add" class="list-group-item">新增图书</a>
                      <a href="#/del" class="list-group-item disabled">删除图书</a>
                      <a href="#/sea" class="list-group-item disabled">查询图书</a>
                    </div>
                    
                    <a class="btn btn-danger" href="login.html" οnclick="xiu()">修改密码</a>
                    <a class="btn btn-danger" href="login.html" οnclick="func()">退出系统</a>
                </div>
                
                <div class="col-xs-10" ng-view>
                    
                </div>    
                
            </div>
        </div>
        
    </body>

CSS代码:

<style type="text/css">
            body{
                margin: 0 auto;
                padding: 0 auto;
                background-color: #F0F2F4;
            }
            .container{
                width: 1000px;
                margin: 50px auto;
            }
            .list-group-item{
                text-align: center;
            }
            .moren{
                height: 400px;
                background-color: grey;
                font-size: 70px;
                color: #FFFFFF;
                text-align: center;
                font-weight: bold;
                line-height: 120px;
                padding-top: 65px;
            }
            .panel-primary .row{
                margin-bottom: 10px;
            }
            
            .btn-danger{
                display: block;
                margin: 40px auto;
            }
            
        </style>

这些是各按钮跳转的页面:

.config(function($routeProvider){
            $routeProvider
            .when("/",{templateUrl:"moren.html"})
            .when("/all",{templateUrl:"showbook.html"})
            .when("/add",{templateUrl:"addbook.html"})
            .when("/del",{template:"这是删除图书页面"})
            .when("/sea",{template:"这是查询图书页面"})
            .when("/update",{templateUrl:"updatebook.html"})
            .otherwise({redirectTo:"/"})
        })

这是系统原有的:

    $scope.bookList = [
                {"name": "姜浩真帅1","author": "姜浩","date": "2015-06-17","price": "40","num": "100","printer": "教育出版社"},
                {"name": "姜浩真帅2","author": "姜浩","date": "2015-06-17","price": "40","num": "100","printer": "教育出版社"},
                {"name": "姜浩真帅3","author": "姜浩","date": "2015-06-17","price": "40","num": "100","printer": "教育出版社"},
                {"name": "姜浩真帅4","author": "姜浩","date": "2015-06-17","price": "40","num": "100","printer": "教育出版社"},
                {"name": "姜浩真帅5","author": "姜浩","date": "2015-06-17","price": "40","num": "100","printer": "教育出版社"},
                {"name": "姜浩真帅6","author": "姜浩","date": "2015-06-17","price": "40","num": "100","printer": "教育出版社"},
                {"name": "姜浩真帅7","author": "姜浩","date": "2015-06-17","price": "40","num": "100","printer": "教育出版社"},
                {"name": "姜浩真帅8","author": "姜浩","date": "2015-06-17","price": "40","num": "100","printer": "教育出版社"},
                {"name": "姜浩真帅9","author": "姜浩","date": "2015-06-17","price": "40","num": "100","printer": "教育出版社"},
                {"name": "姜浩真帅10","author": "姜浩","date": "2015-06-17","price": "40","num": "100","printer": "教育出版社"},
                {"name": "姜浩真帅11","author": "姜浩","date": "2015-06-17","price": "40","num": "100","printer": "教育出版社"},
                {"name": "姜浩真帅12","author": "姜浩","date": "2015-06-17","price": "40","num": "100","printer": "教育出版社"},
                {"name": "姜浩真帅13","author": "姜浩","date": "2015-06-17","price": "40","num": "100","printer": "教育出版社"},
                {"name": "姜浩真帅14","author": "姜浩","date": "2015-06-17","price": "40","num": "100","printer": "教育出版社"},
                {"name": "姜浩真帅15","author": "姜浩","date": "2015-06-17","price": "40","num": "100","printer": "教育出版社"}
            ];

添加图书,一个新book

$scope.book={
            "name": "",
            "author": "",
            "date": "",
            "price": "",
            "num": "",
            "printer": ""
        }

提交按钮的函数设为addBook(),设置提交后是否继续添加,否则清零,代码:

    $scope.addBook=function(){
            $scope.bookList.unshift($scope.book)
             if(!confirm("添加成功!是否继续添加!")){
                    $location.path("/all");
                }
             $scope.book={
            "name": "",
            "author": "",
            "date": "",
            "price": "",
            "num": "",
            "printer": ""
        }
             
        }

删除图书比较简单,函数为delBook($index),用的是splice,代码:

$scope.delBook=function($index){
                  $scope.bookList.splice($index,1);
                 

            }

 

修改按钮函数为loadData($index),为不妨碍修改项设一个updateIndex=-1,当点击修改时跳到修改页面,页面的内容为点击那一项的原有内容,代码:

    $scope.updateIndex = -1;
            $scope.loadData = function(index){
                $scope.updateIndex = index;
                $scope.book = {
                    "name": $scope.bookList[index].name,
                    "author": $scope.bookList[index].author,
                    "date": $scope.bookList[index].date,
                    "price": $scope.bookList[index].price,
                    "num": $scope.bookList[index].num,
                    "printer": $scope.bookList[index].printer
                }
            }

 

 

 

 提交函数为update(),将bookList[$scope.updateIndex]的内容替换为copy的book

$scope.update = function(){
                $scope.bookList[$scope.updateIndex] = angular.copy($scope.book);
                $location.path("/all");
                $scope.book = {
                    "name": "",
                    "author": "",
                    "date": "",
                    "price": "",
                    "num": "",
                    "printer": ""
                }
            }

查找设定的按书名查找,用到.filter服务

.filter("filterByName",function(){
                return function(bookList,search){
                    if(!search) return bookList;
                    var arr=[]
                    for(var i=0;i<bookList.length;i++){
                        
                var index=    bookList[i].name.indexOf(search);
                if(index>-1){
                    arr.push(bookList[i]);
                    
                  }
                }
                    return arr;
                }
                
            })

 @唯芸熙

 

 

转载于:https://www.cnblogs.com/ljr001/p/7631421.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用 Node.js 来开发一个图书管理系统。Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,它可以使你在服务器端运行 JavaScript。 在开发这样的系统时,你可以考虑以下步骤: 1. 安装 Node.js:首先,确保你已经安装了 Node.js。你可以从 Node.js 的官方网站 https://nodejs.org 下载并安装适合你操作系统的版本。 2. 创建项目:使用命令行工具,在你想要创建项目的目录运行 `npm init` 命令,根据提示创建一个新的 Node.js 项目。这将生成一个 `package.json` 文件,用于管理项目的依赖项和配置。 3. 安装依赖项:对于一个图书管理系统,你可能需要使用一些第三方库或框架来简化开发过程。在 `package.json` 文件所在的目录下,可以使用 `npm install` 命令来安装这些依赖项。例如,你可以尝试使用 Express.js 来构建后端 API,使用 MongoDB 数据库来存储图书信息。 4. 设计数据库结构:决定所需的数据字段和关系,设计适合图书管理系统的数据库结构。你可以使用 MongoDB 或其他关系型数据库(如 MySQL 或 PostgreSQL)来存储图书信息。 5. 创建后端 API:使用 Express.js 或其他类似框架创建后端 API,用于处理客户端请求并与数据库交互。你可以创建路由,实现图书的增删改查功能,并进行身份验证和授权等操作。 6. 创建前端界面:使用 HTML、CSS 和 JavaScript 创建一个用户友好的前端界面,用于与后端 API 进行交互。你可以使用一些流行的前端框架(如 React、Angular 或 Vue.js)来简化开发过程。 7. 测试和部署:确保你的系统能够正常运行,并进行适当的测试。你可以使用一些测试框架和工具来自动化测试过程。最后,将你的图书管理系统部署到一个合适的服务器上,使其可以被用户访问。 以上是一个简要的指导,帮助你开始创建一个基于 Node.js 的图书管理系统。当然,具体的实现取决于你的需求和技术选择。祝你成功!如果你有任何进一步的问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值