AngularJS:声明工厂

时间:2014-03-26 05:17:13

标签: javascript angularjs angularjs-factory

在60分钟后跟随AngularJS我试图将工厂添加到当前代码。

我有lineman angular app,其中angular声明如下:

angular.module("app", ["ngResource", "ngRoute"]).run(function($rootScope) {
  // adds some basic utilities to the $rootScope for debugging purposes
  $rootScope.log = function(thing) {
    console.log(thing);
 };
});

我想添加以下代码,但遇到JS语法问题

.factory('simpleFactory', function () {
  var factory = {};
  var customers = [];
  factory.getCustomers = function () {
    return customers;
  };
  return factory;
}

合并这两个块的正确语法是什么?我也应该模仿控制器目录来创建工厂,还是应该真的添加到第一个块?感谢

2 个答案:

答案 0 :(得分:2)

从技术上讲,您已经将某个块与另一个块合并:

angular.module("app", ["ngResource", "ngRoute"])

.run(function($rootScope) {
  // adds some basic utilities to the $rootScope for debugging purposes
  $rootScope.log = function(thing) {
    console.log(thing);
 };
});

让您的链继续调用另一个方法,以便"第二个块"你正在谈论(技术上它现在是第三个块),不要终止方法调用,然后只需删除终结符;并附加第三个块。

它必须如下所示:

angular.module("app", ["ngResource", "ngRoute"]).run(function($rootScope) {
  // adds some basic utilities to the $rootScope for debugging purposes
  $rootScope.log = function(thing) {
    console.log(thing);
 };
})

.factory('simpleFactory', function () {
  var factory = {};
  var customers = [];
  factory.getCustomers = function () {
    return customers;
  };
  return factory;
});

注意:您的第三个方法调用factory()未正确关闭,它缺少右括号)和终止符号;

答案 1 :(得分:0)

确保将工厂链接到变量。你现在似乎打破了链条。