我正在编写一个应用程序,其中我想使用angularjs中的服务调用将数字加倍,但是它不起作用...

下面是我的代码。

<!DOCTYPE html>
<html ng-app="myApp">
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
    </head>
        <body>
            <div ng-controlller="myCrtl">
                <input ng-model='num'>  {{double(num)}}
            </div>
                <script>
                    var app=angular.module('myApp',[]);

                    app.service('abc',function(){
                        this.myFun=function(value){
                            return value * 2
                        }
                    });

                    app.controller('myCrtl',['$scope','abc',function($scope,abc){
                        $scope.double=abc.myFun(num);
                    }])
                </script>
        </body>
</html>

最佳答案

首先,您在这里输入错字。 <div ng-controlller="myCrtl">应该是两个ng-controller

由于double是一个函数,您需要将其视为作用域函数

$scope.double= function(){
       return abc.myFun($scope.num);
 }




var app=angular.module('myApp',[]);
  app.controller('myCrtl',['$scope','abc',function($scope,abc){
      debugger
      $scope.num = 0;

      $scope.double = function() {
          return abc.myFun($scope.num);
      }
  }])
  app.service('abc',function() {
      this.myFun = function(value) {
          return parseInt(value) * 2;
      }
  });

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" >
    <div ng-controller="myCrtl">
        <input ng-model='num'>  {{double()}}
    </div>
</div>

关于javascript - 如何使用angular js中的服务对数字加倍?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44452294/

10-09 20:47