AngularJS带给你一个简单完善的Demo

上截图了,看效果,都是用angulaJS+BootStrap实现的,代码极其简介,
用到的有:

1.1 完善的例子
1.2 双向数据绑定
1.3 过滤器工厂使用
1.4 repeat绑定
1.5 自动排序
1.7 交互式显隐元素
1.8 通过Ajax获取数据

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

贴代码喽

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" ng-app="todoApp">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <script src="js/angular/angular.js"></script>
    <link href="js/bootstrap/bootstrap.css" rel="stylesheet" />
    <link href="js/bootstrap/bootstrap-theme.css" rel="stylesheet" />
</head>
<body ng-controller="ToDoCtrl">
    <div class="page-header">
        <h2>
            {{todo.user}}做的列表
            <span class="label label-default" ng-hide="incompleteCount()==0"
                  ng-class="warningLevel()">{{incompleteCount()}}</span>
        </h2>
    </div>
    <div class="panel">
        <div class="input-group">
            <input class="form-control" ng-model="actionText" />
            <span class="input-group-btn">
                <button class="btn btn-danger" ng-click="addNewItem(actionText)">添加</button>
            </span>
        </div>
        <table class="table table-striped">
            <thead>
                <tr>
                    <th>描述</th>
                    <th>操作</th>
                </tr>
            </thead>
            <tbody>
                <tr ng-repeat="item in todo.items | checkedItems:showComplete| orderBy:'action'">
                    <td>{{item.action}}</td>
                    <td><input type="checkbox" ng-model="item.done" /></td>
                    <td>{{item.done}}</td>
                </tr>
            </tbody>
        </table>
        <div class="checkbox-inline">
            <label><input type="checkbox" ng-model="showComplete" />显示全部</label>
        </div>
    </div>
    <script type="text/javascript">
        var model = {
            user: "刘壮",
            items:[]
        };

        var todoApp = angular.module("todoApp", []);

        //加载json数据
        todoApp.run(function ($http) {
            $http.get("todo.txt").success(function (data) {
                model.items = data;
            });
        });
        //控制器
        todoApp.controller("ToDoCtrl", function ($scope) {
            $scope.todo = model;

            //计算选中的数量
            $scope.incompleteCount = function () {
                var count = 0;
                angular.forEach($scope.todo.items, function (item) {
                    if (item.done) { count++ };
                })
                return count;
            }

            //得到不同的css style 
            $scope.warningLevel = function () {
                return $scope.incompleteCount() > 3 ? "label-warning" : "label-success";
            }

            //添加新项
            $scope.addNewItem = function (actionText) {
                $scope.todo.items.push({ action: actionText, done: true });
            }


        })

        //过滤器工厂
        todoApp.filter("checkedItems", function () {
            return function (items, showComplete) {
                var resultArr = [];
                angular.forEach(items, function (item) {
                    if (showComplete == true||item.done == false) {
                        resultArr.push(item);
                    }
                });
                return resultArr;
            }
        })
    </script>
</body>
</html>

自定义todo.txt(原本是json文件)

[               { "action": "C 第一条", "done": false },
                { "action": "D 第二条", "done": false },
                { "action": "B 第三条", "done": true },
                { "action": "A 第四条", "done": false }
            ]
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用AngularJS制作一个购物车需要以下步骤: 1. 定义一个AngularJS app模块和controller控制器。 ```javascript var app = angular.module('myApp', []); app.controller('myCtrl', function($scope) { // 初始化购物车为空数组 $scope.cart = []; }); ``` 2. 在HTML中定义购物车的容器,并使用ng-repeat指令遍历购物车中的商品列表。 ```html <div ng-app="myApp" ng-controller="myCtrl"> <div ng-repeat="item in cart"> <div>{{item.name}}</div> <div>{{item.price}}</div> <div>{{item.quantity}}</div> <div>{{item.price * item.quantity}}</div> </div> </div> ``` 3. 在HTML中定义商品列表,并为每个商品添加一个“添加到购物车”的按钮。当用户点击按钮时,将该商品添加到购物车中。 ```html <div ng-app="myApp" ng-controller="myCtrl"> <div ng-repeat="product in products"> <div>{{product.name}}</div> <div>{{product.price}}</div> <button ng-click="addToCart(product)">添加到购物车</button> </div> <hr> <div ng-repeat="item in cart"> <div>{{item.name}}</div> <div>{{item.price}}</div> <div>{{item.quantity}}</div> <div>{{item.price * item.quantity}}</div> </div> </div> ``` 4. 在controller中实现addToCart()函数,用于将商品添加到购物车中。 ```javascript $scope.addToCart = function(product) { // 检查购物车中是否已存在该商品 var index = -1; for (var i = 0; i < $scope.cart.length; i++) { if ($scope.cart[i].name === product.name) { index = i; break; } } // 如果购物车中已存在该商品,则将商品数量加1 if (index !== -1) { $scope.cart[index].quantity++; } else { // 否则将商品添加到购物车中 $scope.cart.push({ name: product.name, price: product.price, quantity: 1 }); } }; ``` 这样就可以实现一个简单的购物车了。当然,你可以根据实际需求对代码进行修改和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值