前端之家收集整理的这篇文章主要介绍了
angular双向数据绑定实例代码,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
第一步》》》导入bootstrap的css样式
<link rel="stylesheet" href="//cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap.min.css">
<!-- 可选的Bootstrap主题文件(一般不用引入) -->
<link rel="stylesheet" href="//cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap-theme.min.css">
第二步》》》导入angular的js文件
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
第三步 >>>>>编写实例代码
- <div class="panel panel-primary" ng-app="myCart" ng-controller="myCartController">
- <div class="panel-heading navbar-fixed-top" >购物车头部</div>
- <!--购物车正文开始 -->
- <div class="panel-body" style="margin-top: 40px;">
-
- <div class="media-list">
-
- <div class="media" ng-repeat="good in cartInfo">
- <a class="pull-left">
- <img ng-src="{{good.img}}" class="media-object img-thumbnail" />
- </a>
- <div class="media-body">
- <div class="media-heading">{{good.title}}</div>
- <p>价格 : {{good.price}} </p>
- <p>数量:
- <span class="glyphicon glyphicon-plus" aria-hidden="true" ng-click="jia(good)"></span>
- <input type="number" ng-model="good.num" width="9%" />
- <span class="glyphicon glyphicon-minus" aria-hidden="true" ng-click="jian(good)"></span>
- </p>
- <p>
- <span class="glyphicon glyphicon-trash icon-large" aria-hidden="true" ng-click="remove(good)"></span>
- </p>
- </div>
- </div>
-
- </div>
- </div>
- <!--购物车正文结束 -->
- <div class="panel-footer navbar-fixed-bottom">
- <div class="form-horizontal text-right">
- <label>总金额: <strong class="text-primary">{{total() | currency}}</strong> </label>
- <label>折扣额: <strong class="text-primary"> {{bill.discount | currency}}</strong> </label>
- <label>实付: <strong class="text-primary">{{ subTotal() | currency }}</strong> </label>
- </div>
- </div>
- </div>
第四步》》》》》编写js
1.angualr都是从模块开始的步骤如下
4.1 创建angular模块 angualr.module('模块名称---ng-app')......js代码如下
- var myCart = angular.module("myCart",[]);
- myCart.controller("myCartController",function($scope) {
- //,{title:'惠普节能台灯',price:'99.00',num:10,img:'img/3.jpg'}
- $scope.bill = {
- discount: 0
- };
- $scope.cartInfo = [{
- title: '惠普机械键盘',price: 998.00,num: 1,img: 'img/1.jpg'
- },{
- title: '惠普机械鼠标',price: 668.00,img: 'img/2.jpg'
- },{
- title: '惠普节能台灯',price: '99.00',num: 10,img: 'img/3.jpg'
- },{
- title: '惠普机械键盘',img: 'img/3.jpg'
- }]; /*数量相加函数*/
- $scope.jia = function(obj) {
- obj.num = obj.num + 1;
- }
- /*相减函数*/
- $scope.jian = function(obj) {
- if (obj.num > 1) {
- obj.num = obj.num - 1;
- }
- }
- /*移除函数*/
- $scope.remove = function(obj) {
- for (var i = 0; i < $scope.cartInfo.length; i++) {
- if (obj.title === $scope.cartInfo[i].title) {
- $scope.cartInfo.splice(i,1);
- }
- }
- }
- /*计算总金额*/
- $scope.total = function() {
- var total = 0;
- for (var i = 0; i < $scope.cartInfo.length; i++) {
- total += $scope.cartInfo[i].price * $scope.cartInfo[i].num;
- }
- return total;
- }
- /*实付金额*/
- $scope.subTotal = function() {
- return $scope.total() - $scope.bill.discount;
- }
-
- function equalTotal(newValue,oldValue,scope) {
- //alert(newValue+"---oldValue--"+oldValue);
- return $scope.bill.discount = newValue > 1000 ? 10 : 0;
- }
- $scope.$watch($scope.total,equalTotal);
- })
运行效果如下》》》》》》