本文介绍如何利用AngularJS与Bootstrap技术栈开发一个简易网页计算器。通过整合HTML结构、AngularJS控制器逻辑及Bootstrap样式,实现基础的加减乘除运算功能。文中提供了完整的源码示例与下载链接,适合希望学习前端框架结合应用的开发者参考。
项目背景与概述
此前曾遇到一道练习题,要求使用AngularJS配合Bootstrap制作一个简易计算器。经搜索发现,网络上缺乏高质量的参考案例,因此整理出本文示例供交流探讨(欢迎指正,请勿过度批评)。
HTML结构实现:
HTML界面结构
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>计算器</title>
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css"/>
<link rel="stylesheet" type="text/css" href="css/style.css" />
</head>
<body>
<div ng-app="myApp" ng-controller="myController" class="row">
<div class="col-md-5 col-xs-5"></div>
<div class="col-md-4 col-xs-4">
<div id="a">
<div id="show">
<input type="text" name="show" ng-model="shuzi" value="{{shuzi}}" class="form-control" disabled/>
<input type="text" name="show" ng-model="jieguo" value="{{jieguo}}" class="form-control" disabled id="b"/>
</div>
<br />
<div class="row">
<div class="col-md-7 col-xs-7">
<button type="button" ng-click="num(7)" class="btn btn-default" id="but">7</button>
<button type="button" ng-click="num(8)" class="btn btn-default" id="but">8</button>
<button type="button" ng-click="num(9)" class="btn btn-default" id="but">9</button>
<button type="button" ng-click="num('/')" class="btn btn-default" id="but">÷</button>
<br/>
<button type="button" ng-click="num(4)" class="btn btn-default" id="but">4</button>
<button type="button" ng-click="num(5)" class="btn btn-default" id="but">5</button>
<button type="button" ng-click="num(6)" class="btn btn-default" id="but">6</button>
<button type="button" ng-click="num('*')" class="btn btn-default" id="but">x</button>
<br/>
<button type="button" ng-click="num(1)" class="btn btn-default" id="but">1</button>
<button type="button" ng-click="num(2)" class="btn btn-default" id="but">2</button>
<button type="button" ng-click="num(3)" class="btn btn-default" id="but">3</button>
<button type="button" ng-click="num('-')" class="btn btn-default" id="but">-</button>
<br/>
<button type="button" ng-click="num(0)" class="btn btn-default" id="but">0</button>
<button type="button" ng-click="reversal()" class="btn btn-default" id="but">±</button>
<button type="button" ng-click="num('.')" class="btn btn-default" id="but">.</button>
<button type="button" ng-click="num('+')" class="btn btn-default" id="but">+</button>
</div>
<div class="col-md-5 col-xs-5">
<button type="button" class="btn btn-primary btn-lg" ng-click="remove()" id="lgbut1">清零</button>
<br/>
<button type="button" class="btn btn-primary btn-lg" ng-click="js()" id="lgbut2">=</button>
</div>
</div>
</div>
</div>
<div class="col-md-4 col-xs-4"></div>
</div>
</body>
<script type="text/javascript" src="js/angular.1.6.3.js"></script>
<script type="text/javascript" src="js/bootstrap.min.js"></script>
<script type="text/javascript" src="js/jisuanqi.js"></script>
</html>
AngularJS逻辑实现:
AngularJS核心逻辑
var myApp=angular.module("myApp",[]);
myApp.controller("myController",function($scope){
$scope.shuzi="";
$scope.jieguo=0;
$scope.num=function(num){
$scope.shuzi+=num;
}
$scope.js=function(){
$scope.jieguo=(eval($scope.shuzi));
}
$scope.reversal=function(){
if(eval($scope.shuzi)>0){
$scope.shuzi="-"+$scope.shuzi;
}else{
$scope.shuzi=$scope.shuzi.substring(1);
}
}
$scope.remove=function(){
$scope.shuzi="";
$scope.jieguo=0;
}
})
效果展示与源码获取
运行效果预览:

完整源码下载地址:https://github.com/tianfayl/public
以上内容为本文的全部分享,旨在为读者的学习提供一定帮助,同时也期待大家能给予更多关注与支持。