我有一个有角度的应用程序,我想添加一个没有任何视图的后台进程。它所做的只是定期调用web服务并对其做一些事情,没有UI。
快速而简单的方法是简单地将代码放在window.onLoad中。但是,我应该考虑采用角度方式吗?如果是这样,我是否将代码放入服务中?我最初如何“开始”这项服务?
答案 0 :(得分:1)
你自己回答,服务是正确的选择,你可以把它注入你在应用程序上的任何控制器,如果不是这样,你没有控制器(或指令),那么你可以在angular.run
angular.module('lookMaMyModule').run(function(injectables){
do something fancy on run
})
答案 1 :(得分:1)
这是一个简单的概念,它可能有小问题,但你会明白这一点。
angular.bootstrap2 = function(module, element, callback){
angular.bootstrap(module, element);
callback();
}
从html和引导程序
中删除ng-app标记如果后台进程是ng模块,那么使用angular.module('name').run();
否则使用自引导技术
angular.module('name', ['deps']);
angular.bootstrap2(['name'], document.body, function(){
var process_1 = new MyServ();
process_1.start();
});
var MyServ = function(){
this.intervalId = 0;
this.start = function(){
this.intervalId = setInterval(function(){
console.log('executing');
}, 1000);
}
this.stop = function(){
setInterval.cancel(this.intervalId); //don't remember api, sorry :<
}
});
答案 2 :(得分:0)