使用AngularJS构建的计算器不显示结果 [英] Calculator built using AngularJS not showing result

查看:91
本文介绍了使用AngularJS构建的计算器不显示结果的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在AngularJs教程中,我构建了一个简单的计算器,但是当我点击计算按钮时,它没有显示输出。我不确定我在做错的地方。 HTML文件有三个文本输入字段和五个按钮。当我点击计算按钮时输出没有出现

In AngularJs Tutorial I have built a simple Calculator but when I click on calculate button it does not show the output. I am not sure where I am doing the mistake. The HTML file has three text input fields and five buttons. When I click on calculate button the output doesn't appear

我的HTML文件代码

    <!DOCTYPE html>
<html data-ng-app="calc">
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.6/angular.min.js"></script>
        <script src="app.js"></script>
    </head>
<body>
    <div align="center" data-ng-controller="CalcCtrl as c1">
            <input type="text" data-ng-model="c1.num1"></input>
            <span data-ng-bind="c1.selectedOperation"></span>
            <input type="text" data-ng-model="c1.num2"></input>
            <span></span>
            <input type="text">{{c1.result}}</input>
        <p>
             <button data-ng-click="c1.buttonClicked('+')">+</button>
            <button data-ng-click="c1.buttonClicked('-')">-</button>
             <button data-ng-click="c1.buttonClicked('*')">*</button>
             <button data-ng-click="c1.buttonClicked('/')">/</button>
        </p>
        <p>
            <button data-ng-click="c1.calcResult()">calculate</button>
        </p>
        {{c1.num1}} {{c1.num2}}
    </div>
    </body>

</html>

我的App.JS文件

var app = angular.module("calc", []);
app.controller('CalcCtrl', calc);

function calc() {
    this.result = 0;
    this.buttonClicked = function(button){
        this.selectedOperation=button;
    }
    this.calcResult=function(){
        var1 n1=parseFloat(this.num1);
        var2 n2=parseFloat(this.num2);

        if(this.selectedOperation==='+') {
            this.result = n1+n2;
        }else if(this.selectedOperation==='-') {
            this.result = n1-n2;
        }else if(this.selectedOperation==='*') {
            this.result = n1*n2;
        }else if(this.selectedOperation==='\') {
                 this.result = n1/n2;
        }

    }

}


推荐答案

我不知道我在您的代码中做了哪些更改,因为我更改了更多代码并添加了一些功能。你可以复制粘贴下面的代码片段。

I don't know what are the changes I did from your code, because I have changed more code and added some features. You can just copy paste this below snippet.

angular.module("calc",[]).controller('CalcCtrl', function($scope) {
    $scope.result = 0;
    $scope.buttonClicked = function(button){
        this.selectedOperation=button;
    };
    $scope.calcResult = function(){
        var n1 = parseFloat($scope.num1);
        var n2 = parseFloat($scope.num2);
        if($scope.selectedOperation==='+') {
            $scope.result = n1+n2;
        }else if($scope.selectedOperation==='-') {
            $scope.result = n1-n2;
        }else if($scope.selectedOperation==='*') {
            $scope.result = n1*n2;
        }else if($scope.selectedOperation==='/') {
                 $scope.result = n1/n2;
        }
    };
});

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
    <div ng-app="calc" align="center" ng-controller="CalcCtrl">
            <input type="text" ng-change="calcResult()" ng-model="num1"></input>
            <span ng-bind="selectedOperation"></span>
            <input type="text" ng-change="calcResult()" ng-model="num2"></input>
            <span></span>
            <input type="text" ng-model="result"></input>
        <p>
             <button ng-click="buttonClicked('+');calcResult()">+</button>
            <button ng-click="buttonClicked('-');calcResult()">-</button>
             <button ng-click="buttonClicked('*');calcResult()">*</button>
             <button ng-click="buttonClicked('/');calcResult()">/</button>
        </p>
        <p>
            <button ng-click="calcResult()">calculate</button>
        </p>
        {{num1}}{{selectedOperation}} {{num2}} = {{result}}
    </div>

这篇关于使用AngularJS构建的计算器不显示结果的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆