起始是这样的,没毛病
angular.module('myApp',['ionic','ctrlController','serviceModule'])
此处控制器
angular.module('serviceModule',[])
.controller('myIndianaCtrl',function($scope,Timer){
Timer.timer(function(a,b,c){
$scope.h=a;
$scope.m=b;
$scope.s=c;
})
})
此处服务
angular.module('serviceModule',[])
.service('Timer',[function($interval){
var _this=this;
this.timer=function(callbackFun){
var h=23,m=23,s=59;
_this.h=h;
_this.m=m;
_this.s=s;
callbackFun(_this.h,_this.m,_this.s);
return this;
}
}])
以上代码在view里绑定的话, 可以显示 h m s,然而当我想加个倒计时,例如这样
angular.module('serviceModule',[])
.service('Timer',[function($interval){
var _this=this;
this.timer=function(callbackFun){
var h=23,m=23,s=59;
$interval(function run(){
--s;
if(s<0){
--m;
s=59;
}
if(m<0){
--h;
m=59;
}
if(h<0){
h=00;
m=00;
s=00;
}
_this.h=h;
_this.m=m;
_this.s=s;
callbackFun(_this.h,_this.m,_this.s);
})
return this;
}
}])
这时console里面会报这样子的错误,然后就没有然后了,不晓得咋整了
是interval不能写到service里面的吗?
如果能,求大神举个小栗子就好,拜谢!
你这是应该是注入被混淆了的毛病
这么写试试