angular.js构建单页面购物车

前端使用Angular.js实现购物车功能 本文旨在为前端开发者提供一个使用Angular.js实现购物车功能的完整指南。Angular.js框架的核心特性购物车功能的需求分析数据模型设计用户界面实现业务逻辑处理性能优化考虑首先介绍Angular.js和购物车功能的基本概念然后深入探讨实现购物车所需的核心技术接着通过实际代码示例展示完整实现最后讨论优化和扩展的可能性Angular.js:Google开发的前端MVC框架,用于构建动态单页应用购物车:电子商务网站中临时存储用户选择商品的容器数据绑定。 阅读详情
<!doctype html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>购物车</title>
	<script src="../jquery.js"></script>
	<script src="angular.js"></script>
	<style>
      *{
      	padding:0;
      	margin:0;
      	font-family: '微软雅黑';
      }
      .shop-items ul{
      	list-style: none;
      	width: 100%;
      }
      .shop-items ul li{
      	display: inline-block;
      	width: 10%;
      	text-align: center;
      	height: 30px;
      	line-height: 30px;
      }
      .shop-items ul li p{
      	border-bottom: 1px solid #ccc;
      	border-left: 1px solid #ccc;
      }
      .shop-items ul li:last-child p{
      	border-right: 1px solid #ccc;
      }
      .shop-items ul li input{
      	padding:2px 5px;
      	margin-bottom: 5px;
      }

      .shop-buy,.shop-total{
      	width: 50%;
      	margin-left: 30%;
      	margin-top:20px;
      }
      .shop-buy span{
      	display: inline-block;
      	width: 180px;
      }
      .shop-buy input{
      	padding:5px 8px;
      }
      .shop-total{
      	font-size: 25px;
      	font-weight: bold;
      }
	</style>
</head>
<body>
	<div class="shop-view" ng-app="shopping" ng-controller="myCtrl">
		<div class="shop-items">             <!--ng-repeat写入数组中的数据-->
			<ul>
				<li ng-repeat="x in items">
					<p>{{x.name}}</p>
					<p>{{x.price}}/斤</p>
					<p><input type="button" value="购买" ng-click="buy($index);"></p>				
				</li>
			</ul>
		</div>
		<div class="shop-buy" ng-repeat="x in items">
			<p>
				<span>{{x.name}} : {{x.price|currency:"¥"}}</span><input type="button" value="-" ng-click="minus($index);"> <input type="text" ng-model="itemNum[$index]"> <input type="button" value="+" ng-click="add($index)"><span> 单品总价:{{x.price*itemNum[$index]|number:2}}元</span>
			</p>
		</div>
		<div class="shop-total">
			总价为:{{total|number:2}}元
		</div>
	</div>
	<script>
       var data=[
         {"name":"苹果","price":"12.35"},
         {"name":"香蕉","price":"8.9"},
         {"name":"榴莲","price":"20.5"},
         {"name":"电脑","price":"4000.9"},
         {"name":"手机","price":"2089.5"},
         {"name":"显示屏","price":"1223.35"},
         {"name":"冰箱","price":"3451.9"},
         {"name":"大金桔","price":"12.5"},
         {"name":"切糕","price":"888.8"},
         {"name":"大西瓜","price":"5.5"}
       ];
       var app=angular.module("shopping",[]);
       app.controller("myCtrl",function($scope){
          $scope.items=data;
          $scope.itemNum=[];
          $scope.total=0;
          var len=$scope.items.length;
          for(var i=0;i<len;i++){
             $scope.itemNum[i]=0;               //初始化ng-model中的值,另其为0
          }
          $scope.$watch("itemNum",function(){   //监听ng-model中的值的变化
          	$scope.getTotal();
          },true)
          $scope.buy=function(index){           //点击购买按钮时发生的事件
          	  $scope.itemNum[index]++;            
          }
          $scope.minus=function(index){         //减少数量
          	  $scope.itemNum[index]--;
          	  if($scope.itemNum[index]<=0){
          	  	$scope.itemNum[index]=0;
          	  }        	
          } 
          $scope.add=function(index){           //增加数量
          	  $scope.itemNum[index]++;
          }
          $scope.getTotal=function(index){                         //重新计算总价
          	$scope.total=0;
          	for(var j=0;j<len;j++){
          		$scope.total=$scope.total+$scope.itemNum[j]*$scope.items[j].price;  
          	}
          	return $scope.total;
          }
       })
	</script>
</body>
</html>

免费单页购物系统,免费订单管理系统,免费单页购物系统源码,免费订单管理系统源码 免费单页购物系统,免费订单管理系统, 立即下载

相关推荐

练习2:访问当当购物车页面节点

北大青鸟,accp8.0,练习2:访问当当购物车页面节点。..

Vue 单页面开发----实战五 购物车功能

由于是使用的VUE版的YDUI。所以购物车的标准按照规定的写法来。 【1】展示商品信息 这个就很简单了,找到对应的样式,该添加的添加,该修改的样式稍微修改一下。控制选中了哪些商品有个双向数据绑定的变量。可以查阅一下文档信息。 【2】删除功能 要用到v-show,或者v-if指令绑定一个变量来实现购物车商品的删除。 但是很多情况下我们获取后台的商品list并没有这个变量属性。那么该怎么办呢...

Ta曰丿、她活的博客 558

Materials Studio实战技巧(八)——利用片段库高效构建有机金属配合物

本文详细介绍了在Materials Studio中利用Fragment Browser(片段浏览器)高效构建有机金属配合物的实战技巧。通过调用预置的Metal Templates和Ligands库,用户可以快速搭建如茂金属催化剂等复杂分子骨架,并利用对称性操作精确控制Meso与Rac构型。文章还涵盖了自定义片段库的创建与使用,能显著提升建模效率,适用于计算化学与材料模拟领域的研究者。

wine的专栏 936

JavaScript实现购物车

    &lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt;     &lt;meta charset="UTF-8"&gt;     &lt;title&gt;Document&lt;/title&gt;     &lt;style&gt;         .wrap{       

cathei的博客 8684

手把手教你用mitmproxy抓包抖音数据流(附Python脚本模板)

本文详细介绍了如何使用mitmproxy抓包抖音数据流,包括环境搭建、证书安装和Python脚本模板。从mitmproxy配置到抖音API解析,提供完整的移动端数据流分析方案,帮助开发者快速掌握数据抓取技术,适用于应用优化、竞品分析和安全审计等场景。

weixin_33670786的博客 307

控制科学与工程(自动化)保研经验【1】——预备篇

个人情况 学校:中末流211 专业:自动化(学科评估B-) 年份:2019 排名:4/128 绩点:4.16/5 竞赛:三个国二(包括数模国赛美赛)、两个省一(机器人、电子设计竞赛) 【本科期间竞赛做的比较多,是我的一大亮点,可以在筛简历这关适当弥补专业排名的不足】 科研:一个校级的大创项目(水) 夏令营报名:中科大科学岛、中科大本部、自动化所、沈自所、北航(仪器17系)、山大、浙江大学、南开、同...

Control Everything 1万+

JavaScript创建简单购物车对象

<br /><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><br /><html xmlns="http://www.w3.org/1999/xhtml"><br /><head><br /><meta http-equiv="Content-Type" content="text/html; charset=gb

wyl15982038375的专栏 765

Android框架WiFi架构

动平台,它主要是用来支持WEP,WPA/WPA2和WAPI无线协议和加密认证的,而实际上工作内容是通过socket(不管是wpa_supplicant与上层还是wpa_spplicant与驱动都采用socket通讯)与驱动交互上报数据给用户,而用户可以通过socket发送命令给wpa_supplicant调试来对wifi芯片操作,简单的说,二、android wifi 系统架构:andtoid wifi 系统引入了wpa_supplicant,它的整个wifi系统。

手机-手表蓝牙开发工程师的博客 3459

angular制作简易购物车

<html lang="en"> <head> <meta charset="UTF-8"> <title>购物车</title> <script src="angular.js"></script> <style> table{ border-collapse: collapse; } th,t

这个不能实现 1万+

Image Sensor卷帘曝光(Rolling Shutter)基本原理以及对曝光行的通俗理解

由于CMOS sensor的曝光方式是一行一行的方式进行的,任何一个pixel的曝光时间是一样的,也就是同一行上的每个pixel的曝光开始点和曝光的时间都是一模一样的,所以同一行的所有点所接受到的能量是一样的,而在不同行之间虽然曝光时间都是一样的,但是曝光的开始点是不同的,所以不同行之间所接受到的能量是不一定相同的。至此完成了这一行的曝光。还是以桶装水为比喻: 排成一行的桶(桶的数量和每个桶的大小确定),每一曝光行为单位的时间内每一个桶加水都是一样,需要多少个曝光行才能使的所有水桶加起来的水达到1L。

大熊 3921

Python 爬虫实战:亚马逊 + eBay 商品信息跨平台抓取(价格 / 销量 / 评价对比)

亚马逊和 eBay 是全球知名的电商平台,拥有海量的商品信息。对于消费者来说,比较不同平台上的商品价格、销量和用户评价可以帮助他们找到性价比最高的商品。对于商家而言,了解竞争对手的商品信息有助于优化自身的产品策略和定价策略。然而,手动在两个平台上逐一比较商品信息是非常耗时且低效的。因此,开发一个能够自动抓取并对比这两个平台商品信息的爬虫工具具有重要的实际意义。

yansideyucsdn的博客 615

angular实现购物车功能

一、页面搭建 1、html结构采用BootStrap3来快速创建一个购物车表单样式。 主要功能: A:列表数据所示 B:增加删除端口 C:清空购物车 D:商品数量的增减 E:动态计算商品价格以及总价 <!DOCTYPE html> <html lang="en" ng-app="app"> <head> <meta char

Sophie_U的博客 1256

8.9华为OD机试真题 新系统 - 查找最佳充电策略 (Java/Py/C/C++/Js/Go)

8.9华为OD机试真题 新系统 - 查找最佳充电策略 (Java/Py/C/C++/Js/Go)

算法大师! 1160

angular的仿淘宝购物车

<html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="angular.js"></script> <style> *{ margin: 0; padding: 0; }

这个不能实现 1万+

《用 R 探索医药数据科学》目录(持续更新,已超 250 万字)|订阅前说明

我们重磅推出《用 R 探索医药数据科学》专栏!本文作为专栏【订阅后首读】的核心内容,堪称开启学习之旅的 “入门钥匙”,也是整个专栏最关键的一篇指引文。文中不仅完整呈现了专栏 9 大核心篇章 + 问答板块的详细目录,更囊括了订阅后必知的核心要点 —— 从阅读设备、实操工具的使用建议,到学习路径、更新规则的清晰说明,再到问题反馈、感悟记录的实用方法,一站式帮你摸清专栏框架、找准学习方向。建议各位订阅者务必认真阅读、吃透内容,这能让你后续的学习更高效、少走弯!

MD Code 1万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

angular购物车

1 <body ng-app> 2 3 <div class="container" ng-controller="carController"> 4 <table class="table" ng-show="cart.length"> 5 <thead> 6 <...

anhanzhen0466的博客 90

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

angular.js购物车代码

下载地址 一款angular.js购物车代码,使用bootstrap构建表格样式,angular.js实现加减数量和筛选统计的功能。 dd:

ICode联盟 166

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

angular js 终极购物车

html> html lang="en"> head> meta charset="UTF-8"> title>购物车title> script src="angularjs/angular.js">script> style> .box{ width: 100%; border-bottom: 1px

飞鸟96 615

(angular)购物车

&lt;!DOCTYPE html&gt;&lt;html&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;&lt;/title&gt; &lt;script src="libs/jquery-3.2.1.min.js" type="text/javascript" ch

浅若清兮 329

angular js 购物车练习题

&lt;style&gt;        /*隔行变色*/            table tr:nth-child(2n){                background: #2FAE2E;            }            table tr:nth-child(3n){                background: red;            }       ...

qq_41166157的博客 391

Angular CLI环境安装及官方入门购物车示例

1.开发环境 Node.js:Angular要求Node.js的版本为10.9.0及以上的版本。查看Nodejs版本 运行node -v; Npm包管理器:查看npm版本 运行npm -v; 2.安装Angular CLI 用管理员身份运行cmd,运行npm install -g @angular/cli(非管理员身份会安装失败,看打印出来的信息是否有error) 运行...

XAQ19921025的博客 449

Angular实现购物车

Title table{ border-collapse: collapse; } th,td{ padding: 10px; border: 1px solid #000; } var data=[{'na

SXS120730的博客 416

Angular JS实现简单的购物车

&lt;!DOCTYPE html&gt; &lt;html&gt;     &lt;head&gt;         &lt;meta charset="utf-8" /&gt;         &lt;title&gt;&lt;/title&gt;         &lt;style&gt;             #add input{                 d

GaoYiranBlog的博客 267

Angular,js实现简单购物车功能

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>实现简单购物车功能</title> <script src="js/angular.min.js" type="text/javascript" charset="utf-8"></script> <scri

Cyq_0927的博客 452

angular 购物车(+,-),小计,总价

var app = angular.module("myapp", []);    app.controller("my", function($scope) {     //模拟数据     $scope.user = [{      mingzi: "qq",      jiage: 10,      shuliang: 1     }, {      mingzi:

weixin_39599065的博客 454

angular js 简单购物车

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <script src="js/angular.min.js"></script> <!--<script src="js/jquery-3.2.1.min.js"></script>--

qq_39923392的博客 423
上一篇: 多图片网页实现延迟加载图片
下一篇: JS一切皆对象的由来
水中残月
博客等级 码龄11年 8粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值