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