var app = angular.module("calculatorApp", []);
app.controller("CalculatorCtrl", CalculatorCtrl);
function CalculatorCtrl() {
pleaseWork = null;
this.buttonClicked = function(button) {
if (pleaseWork = null)
{
this.secondNumber = button;
pleaseWork = "I don't know why this won't work."
} else {
this.firstNumber = button;
}
}
this.opButtonClicked = function(opButton) {
this.operationType = opButton;
}
this.equalButtonClicked = function() {
var firstNumber= parseFloat(this.firstNumber);
var secondNumber= parseFloat(this.secondNumber);
if (operationType === '+') {
this.equalButtonClicked = firstNumber + secondNumber;
}
if (operationType === '-') {
this.equalButtonClicked = firstNumber - secondNumber;
}
if (operationType === '*') {
this.equalButtonClicked = firstNumber * secondNumber;
}
if (operationType === '/') {
this.equalButtonClicked = firstNumber / secondNumber;
}
}
}
<html ng-app="calculatorApp">
<head>
<title>Calculator</title>
<script src="angular.js"></script>
<script src="app.js"></script>
</head>
<body>
<h1>Midterm Calculator</h1>
<div ng-controller = "CalculatorCtrl as ctrl">
<p>
<span ng-bind="ctrl.firstNumber"></span>
<span ng-bind="ctrl.operationType"></span>
<span ng-bind="ctrl.secondNumber"></span>
</p>
<p>
<input type="text" value="{{solution}}" readonly/>
</p>
<p>
<button ng-click="ctrl.buttonClicked('1')">1</button>
<button ng-click="ctrl.buttonClicked('2')">2</button>
<button ng-click="ctrl.buttonClicked('3')">3</button>
</p>
<p>
<button ng-click="ctrl.buttonClicked('4')">4</button>
<button ng-click="ctrl.buttonClicked('5')">5</button>
<button ng-click="ctrl.buttonClicked('6')">6</button>
</p>
<p>
<button ng-click="ctrl.buttonClicked('7')">7</button>
<button ng-click="ctrl.buttonClicked('8')">8</button>
<button ng-click="ctrl.buttonClicked('9')">9</button>
</p>
<p>
<button ng-click="ctrl.buttonClicked('0')" >0</button>
<button ng-click="ctrl.equalButtonClicked()">=</button>
<button ng-click="ctrl.opButtonClicked('+')">+</button>
</p>
<p>
<button ng-click="ctrl.opButtonClicked('-')">-</button>
<button ng-click="ctrl.opButtonClicked('*')">*</button>
<button ng-click="ctrl.opButtonClicked('/')">/</button>
</p>
</div>
</body>
</html>
Проблема в JavaScript, если функция между первым и вторым числом.По какой-то неизвестной мне причине переменная, которую я поместил (у меня ее там не было раньше, но я думал, что это решит проблему), сопротивляется чтению.Он всегда читает его так, как будто pleaseWork не имеет значения null, хотя я специально настроил его так, чтобы оно было.Вероятно, это что-то с Angular или JS, с которым мне никогда не приходилось сталкиваться до сих пор, но я был довольно разочарован, так как большинство вещей, которые я смотрю на эту тему относительно angular, дают мне утверждения ngifelse, которые мне не очень нужныпопробовать только сейчас.