<html ng-app="Myapp">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<script src="app.js"></script>
<head>
<body>
<h1>Calculator App </h1>
<div ng-controller="myCtrl as ctrl">
<input type="text" ng-model="ctrl.input1" ></input>
<span ng-bind="ctrl.selectedOperation"></span>
<input type="text" ng-model="ctrl.input2" ></input>
<button onclick="ctrl.compute()">=</button>
<span ng-bind="ctrl.resultValue"></span>
<p>
<button ng-click="ctrl.ButtonClicked('+')">+</button>
<button ng-click="ctrl.ButtonClicked('-')">-</button>
<button ng-click="ctrl.ButtonClicked('*')">*</button>
<button ng-click="ctrl.ButtonClicked('/')">/</button>
</p>
</div>
<body>
</html>
app.js:------
var app = angular.module("Myapp",[]);
app.controller("myCtrl",myCtrl);
function myCtrl(){
this.resultValue = 0;
this.ButtonClicked = function(button){
this.selectedOperation = button;
}
this.compute = function(){
var number1 = parseFloat(this.input1);
var number2 = parseFloat(this.input2);
if(this.selectedOperation ==='+')
{
this.resultValue = number1 + number2;
}else if(this.selectedOperation ==='-')
{
this.resultValue = number1 - number2;
}else if(this.selectedOperation ==='*')
{
this.resultValue = number1 * number2;
}else if(this.selectedOperation ==='/')
{
this.resultValue = number1 / number2;
}
}
}
我是Angular JS的初学者,我是从Java Brains Youtube频道学习的。
app.js是链接到html文件的JavaScript文件,我尝试了所有内容,但它不起作用。
答案 0 :(得分:1)
您在按钮上使用onclick
而不是ng-click
。
所以你必须改变:
<button onclick="ctrl.compute()">=</button>
致:
<button ng-click="ctrl.compute()">=</button>
<强> JSFiddle demo. 强>
答案 1 :(得分:1)
这个html片段:
<button onclick="ctrl.compute()">=</button>
应该使用ng-click
指令而不是按钮的onclick
属性。