<html>
<head>
<meta charset="utf-8">
<script src="js/angular.js"></script>
<script src="js/mult_app.js"></script>
<link rel="stylesheet" href="css/bootstrap.css">
<style>
.nested {
border: 1px solid red;
margin-left: 2em;
padding: 1em;
}
</style>
</head>
<body ng-app="MyApp">
//angularjs版本的多个购物车
<div ng-controller="MyCar">
<ul ng-repeat="item in carList">
<li>名字{{item.name}} 数量&nbsp;&nbsp;<span ng-click="minus(item.index)">-</span>&nbsp;&nbsp;{{item.num}}&nbsp;&nbsp;<span ng-click="plus(item.index)">+</span> 价格{{item.price}}
<span ng-click="remove(item.index)">删除</span>
</li>
</ul>
总价 {{totalPrice}}
</div>
</body>
</html>
 var app = angular.module("MyApp", []);

 var carList = [{
name: "牛奶",
price: 20,
num: 1
},{
name: "鮮花",
price: 5,
num: 1
},{
name: "水果",
price: 10,
num: 1
},{
name: "鸡蛋",
price: 2,
num: 1
}];
function wrapData(data){
for(var i =0; i< data.length; i++) {
data[i].index = i;
data[i].initPrice = data[i].price;
}
}
function store(namespace, data) {
if(arguments.length > 1) {
localStorage.setItem(namespace, JSON.stringify(data));
}else {
var obj = localStorage.getItem(namespace);
return (obj && JSON.parse(obj)) || null
}
}
function getTotalPrice(data){
var totalPrice = 0;
for(var i =0; i< data.length; i++) {
totalPrice+= data[i].num * data[i].initPrice
}
return totalPrice;
}
wrapData(carList); app.controller("MyCar", function($scope) {
//模块作用域
$scope.carList = store('mycar') || carList;
$scope.totalPrice = getTotalPrice(carList);
$scope.$watch("carList", function(newvalue, oldvalue){
$scope.totalPrice = getTotalPrice($scope.carList);
store('mycar', $scope.carList);
}, true);
$scope.remove = function(index){
$scope.carList.splice(index, 1);
}
$scope.plus = function(index){
$scope.carList[index].num ++;
$scope.carList[index].price += $scope.carList[index].initPrice;
}
$scope.minus = function(index){
$scope.carList[index].num --;
$scope.carList[index].price -= $scope.carList[index].initPrice;
}
}); app.controller("AnotherCtrl", function($scope) {
$scope.firstUser = 'Peter';
});

angular初始用——简易购物车的更多相关文章

  1. Session机制二(简易购物车案例)

    一:案例一(简易购物车) 1.目录结构 2.step1.jsp <%@ page language="java" contentType="text/html; c ...

  2. javaweb练手项目jsp+servlet简易购物车系统

    简易购物车项目 这是一个用intellij IDEA做的简易的javaweb项目,开发环境使用的jdk1.8和tomcat8以及mysql数据库. 1.项目开发准备: 创建github仓库 项目框架搭 ...

  3. angular做的简单购物车

    虽然本人也是刚刚才开始学习angular.js,并不是非常会,但是这并不能阻止我对angular的喜爱.因为它太省代码了,比如说一个比较简单的购物车,就是只有商品名称,单价,数量,小计,总计和删除功能 ...

  4. IONIC之简易购物车

    HTML <div ng-app="app"> <div class="l-header"> <div class="l ...

  5. Java servlet 实现的简易购物车

    首页 2.购买页 3.购物车页 1. 首页代码 发送一个post请求 <!DOCTYPE html><html lang="en"><head> ...

  6. [ Python -1 ] 简易购物车程序

    练习: 1. 要求用户输入总资产,例如:2000 2. 显示商品列表,让用户根据序号选择商品,加入购物车 3. 购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功. goods = [{' ...

  7. ~~小练习:python的简易购物车~~

    进击のpython 1,用户先给自己的账户充钱:比如先充3000元. 2,有如下的一个格式: goods = [{"name": "电脑", "pri ...

  8. HttpSession之简易购物车

    创建一个简单的购物车模型,由三个 jsp 和两个 Servlet 组成: step1.jsp <%@ page language="java" contentType=&qu ...

  9. Newbe.Claptrap 框架入门,第一步 —— 创建项目,实现简易购物车

    让我们来实现一个简单的 “电商购物车” 需求来了解一下如何使用 Newbe.Claptrap 进行开发. 业务需求 实现一个简单的 “电商购物车” 需求,这里实现几个简单的业务: 获取当前购物车中的商 ...

随机推荐

  1. [ An Ac a Day ^_^ ] CodeForces 426C Sereja and Swaps 优先队列

    题意: 给你一个有n个数的序列 取一个区间 这个区间内的数可以与区间外的值交换k次 问这样的区间最大值是多少 思路: 看数据是200 时间复杂度O(n*n) 应该可以暴力 顺便学习一下优先队列 枚举区 ...

  2. Arch声卡配置

    ALSA Utilities Install the alsa-utils package. This contains (among other utilities) the alsamixer a ...

  3. RegOpenKey(注册表定位器) 1.5 中文免费绿色版

    软件名称: RegOpenKey(注册表定位器) 1.5 中文免费绿色版 软件语言: 简体中文 授权方式: 免费软件 运行环境: Win7 / Vista / Win2003 / WinXP / Wi ...

  4. SEO优化技巧总结

    SEO优化技巧总结 一:了解搜索引擎 基础知识 搜索引擎:由蜘蛛程序沿着链接爬行和抓取网上的大量页面,存进数据库,经过预处理,用户在搜索框 输入关键词后,搜索引擎排序从数据库中挑选出符合搜索关键词要求 ...

  5. jquery删除未来项 jquery on

    $(document).on('click', '.delbtn', function() { if (confirm("确定要删除吗?")) { var adminid=$(th ...

  6. Sql Server 和 Access 数据库在书写sql语句时的语法差异

    sql:datediff(d,eff_time,getdate()) access: datediff('d',eff_time,getdate())

  7. GO对象和指针初始化

    转自http://www.cnblogs.com/tianyajuanke/p/5234205.html

  8. Python使用ctypes访问C代码

    工具:CodeBlocks 新建一个分享库工程( Shared library ),随便编写一个C代码的函数 // test.c #include <stdio.h> int fib(in ...

  9. mongodb 数据库导入.cvs文件时某些字段类型变成NumberLong的解决办法

    在mongodb中导入数据时,会在数据库中生成字段记录为NumberLong的数据,可以使用以下方式将其转换为String db.Account.find().forEach( function(it ...

  10. Linux入门(一)常见虚拟机及Linux系统安装、xshell连接虚拟机

    1环境 linux常用两种虚拟机 1.1  oracle VM VirtualBox 官方网站:https://www.virtualbox.org/ 1.2  vmware  下载链接:https: ...