使用Angular.js實現(xiàn)簡單的購物車功能
先給大家分享實現(xiàn)代碼,在代碼下面有效果圖展示,大家可以兩者結(jié)合參考下,廢話不多說了,具體代碼如下所示:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script src="http://code.angularjs.org/1.2.5/angular.min.js"></script> <style type="text/css"> td,th{ width: 150px; text-align: left; } table{ width: 800px; } .num{ width: 70px; text-align: center; } tr td:last-child button { background-color: red; } #foot button{ background-color: red; } </style> </head> <!--ng-bind是從$scope -> view的單向綁定ng-modle是$scope <-> view的雙向綁定 {{}} 與 ng-bind 的區(qū)別是后者在加載時用戶不會看到渲染之前的東西,前者可能會看到,所以首頁一般用后者加載數(shù)據(jù) --> <body ng-app="myApp"> <div ng-controller="VC1"> <table border="" cellspacing="" cellpadding=""> <tr><th>產(chǎn)品編號</th><th>產(chǎn)品名稱</th><th>購買數(shù)量</th><th>產(chǎn)品單價</th><th>產(chǎn)品總價</th><th>操作</th></tr> <tr ng-repeat="x in Product" > <td>{{x.id}}</td> <td>{{x.name}}</td> <td> <button ng-click="reduce($index)">-</button> <input type="text" class="num" ng-model="x.quantity" ng-change="change($index)" /> <button ng-click="add($index)">+</button> </td> <td >{{x.price}}</td> <td>{{x.price * x.quantity}}</td> <td><button ng-click="remove($index)">移除</button></td></tr> </table> <div id="foot"><span>總價:</span><span ng-bind="totalQuantity()"></span><span>購買數(shù)量</span> <span >{{numAll()}}</span> <button ng-click="removeAll()">清空購物車</button> </div> </div> </body> <script type="text/javascript"> var app = angular.module("myApp",[]); app.controller("VC1",function($scope){ $scope.Product = [{ id: 1000, name: "iPhone8", quantity: 1, price: 8888 }, { id: 1001, name: "iPhone9", quantity: 1, price: 9888 }, { id: 1002, name: "iPhone 2s", quantity: 1, price: 3888 }, { id: 1003, name: "iPhone 7P+", quantity: 1, price: 10088 }]; //減少數(shù)量 $scope.reduce = function(index){ if( $scope.Product[index].quantity > 1){ $scope.Product[index].quantity--; }else{ $scope.remove(index); } } //添加數(shù)量函數(shù) $scope.add = function(index){ $scope.Product[index].quantity++; } //所有商品總價函數(shù) $scope.totalQuantity = function(){ var allprice = 0 for(var i = 0 ; i <$scope.Product.length;i++ ){ allprice += $scope.Product[i].quantity * $scope.Product[i].price; } return allprice; } //購買總數(shù)量函數(shù) $scope.numAll = function(){ var numAlls = 0 for(var i = 0 ; i <$scope.Product.length;i++ ){ numAlls += $scope.Product[i].quantity; } return numAlls; } //刪除當前商品 $scope.remove = function(index){ if(confirm("確定要清空數(shù)據(jù)嗎")){ $scope.Product.splice(index,1) } } //清空購物車 $scope.removeAll = function(){ if(confirm("你確定套清空購物車所有商品嗎?")){ $scope.Product = []; } } //解決輸入框輸入負數(shù)時變?yōu)? $scope.change = function(index){ if ( $scope.Product[index].quantity >= 1) { }else{ $scope.Product[index].quantity = 1; } } $scope.$watch('Product',function(oldvalue,newvalue){ console.log(oldvalue); console.log(newvalue); }) }) </script> </html>
效果圖展示如下:
以上所述是小編給大家介紹的使用Angular.js實現(xiàn)簡單的購物車功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
Ionic + Angular.js實現(xiàn)驗證碼倒計時功能的方法
驗證碼倒計時這個功能相信對大家每個人來說都不陌生,之前介紹了在Android中的實現(xiàn)方法,下面這篇文章主要給大家介紹了利用Ionic + Angular.js實現(xiàn)驗證碼倒計時功能的相關(guān)資料,文中介紹的非常詳細,需要的朋友們下面來一起看看吧。2017-06-06Angular4集成ng2-file-upload的上傳組件
本篇文章主要介紹了Angular4集成ng2-file-upload的上傳組件,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-03-03AngularJS使用攔截器實現(xiàn)的loading功能完整實例
這篇文章主要介紹了AngularJS使用攔截器實現(xiàn)的loading功能,結(jié)合完整實例形式分析了AngularJS攔截器的設(shè)置、調(diào)用及l(fā)oading功能實現(xiàn)技巧,需要的朋友可以參考下2017-05-05Angular實現(xiàn)的table表格排序功能完整示例
這篇文章主要介紹了Angular實現(xiàn)的table表格排序功能,結(jié)合完整實例形式分析了AngularJS表格排序所涉及的事件響應(yīng)、元素遍歷、屬性修改等相關(guān)操作技巧,需要的朋友可以參考下2017-12-12AngularJS實現(xiàn)DOM元素的顯示與隱藏功能
這篇文章主要介紹了AngularJS實現(xiàn)DOM元素的顯示與隱藏功能,涉及AngularJS中ng-hide與ng-show兩個屬性的使用,需要的朋友可以參考下2016-11-11Angular+Ionic使用queryParams實現(xiàn)跳轉(zhuǎn)頁傳值的方法
這篇文章主要介紹了Angular+Ionic使用queryParams實現(xiàn)跳轉(zhuǎn)頁傳值的方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09詳解ng-alain動態(tài)表單SF表單項設(shè)置必填和正則校驗
這篇文章主要介紹了詳解ng-alain動態(tài)表單SF表單項設(shè)置必填和正則校驗,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-06-06