Javascript 如何使用angular js中的服务将数字翻倍?
我正在编写一个应用程序,其中我想使用angularjs中的服务调用将数字翻倍,但它不起作用 下面是我的代码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>
<!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}}
如果他想使用服务,请阅读问题。也许最终结果比把数字加倍更复杂。。。