在普通的javascript中,我可以将类似的函数分组到一个对象中:
var Monolog = {
notify: function(title, message) {
// Do something with title and message
},
confirm: function(title, message, func) {
// Do something with title, message and func
}
}
我可以这样访问:
Monolog.notify('Error', 'Error message');
现在,使用AngularJS,我需要Monolog中的函数来更改$ scope.variable,这意味着我要么必须使用service还是rootScope。
我该怎么做?
答案 0 :(得分:2)
服务是更好的选择。你应该尝试使用服务
$rootScope
因为它们使代码更具可重用性和可读性。在大多数情况下,使用全局范围也是个坏主意。
更改$scope.variable
可以通过服务中的setter和getter来完成。
修改强>
并且还添加 @Adrian :
服务(可注射)提高可测性