Javascript 如何使用angular js中的服务将数字翻倍?

Javascript 如何使用angular js中的服务将数字翻倍?,javascript,html,angularjs,Javascript,Html,Angularjs,我正在编写一个应用程序,其中我想使用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>

我正在编写一个应用程序,其中我想使用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>

{{double(num)}}
var-app=angular.module('myApp',[]);
应用服务('abc',功能(){
this.myFun=函数(值){
返回值*2
}
});
app.controller('myCrtl',['$scope','abc',函数($scope,abc){
$scope.double=abc.myFun(num);
}])

如果要将数字加倍,请使用
{{2*num}
。你为什么要做复杂的事情。

首先,这里有一个输入错误<代码>应为两个
ng控制器

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

$scope.double= function(){
       return abc.myFun($scope.num);
 }
var-app=angular.module('myApp',[]);
app.controller('myCrtl',['$scope','abc',函数($scope,abc){
调试器
$scope.num=0;
$scope.double=函数(){
返回abc.myFun($scope.num);
}
}])
应用服务('abc',功能(){
this.myFun=函数(值){
返回parseInt(值)*2;
}
});

{{double()}}

由于这个问题需要一种调用
服务方法的方法,我同意这是正确的

不过,我想通过将其实现为一个
过滤器来扩展这一点,如果这是一个可能在整个应用程序中使用的小东西,那么它可能会更简单、更干净:

var-app=angular.module('myApp',[]);
app.controller('myCtrl',['$scope',函数($scope){
$scope.num=0;
}]);
app.filter('double',function(){
返回函数(值){
返回parseInt(值,10)*2;
}
});

{{num | double}}
如果他想使用服务,请阅读问题。也许最终结果比把数字加倍更复杂。。。