在AngularJS中创建一个对象全局

时间:2016-02-03 11:46:40

标签: javascript angularjs angularjs-scope rootscope

在普通的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。

我该怎么做?

1 个答案:

答案 0 :(得分:2)

服务是更好的选择。你应该尝试使用服务 $rootScope因为它们使代码更具可重用性和可读性。在大多数情况下,使用全局范围也是个坏主意。

更改$scope.variable可以通过服务中的setter和getter来完成。

修改

并且还添加 @Adrian

  

服务(可注射)提高可测性