【发布时间】:2014-02-20 11:12:39
【问题描述】:
我有一项服务可以在 rootscope 上监视某些内容并做出响应。没有其他人需要将该服务作为依赖项。我如何告诉服务开始做它的事情?
我现在就是这样做的。
angular.module('app')
.service('myService', function ($rootScope) {
return function () {
$rootScope.$on("...", function () {
//do stuff
});
};
})
.run(function (myService) {
myService();
});
有没有更简洁的方法来做到这一点?
【问题讨论】:
-
我认为没有比这更干净的了...
-
我是 OP。既然我已经使用这种自启动服务有一段时间了,我建议反对这个想法。拥有自己启动的服务可能会干扰其他服务的单元测试。我认为最好有一个
application-start.js,您可以在其中手动启动所有这些服务。该文件将在您的真实应用程序中 (index.html),但不在您的测试中 (karma.config.js)。
标签: angularjs angularjs-service