使用AngularJS工厂在另一个函数中调用函数

时间:2015-04-27 15:15:19

标签: javascript angularjs

我有一个具有多种功能的AngularJS工厂。

我想调用另一个函数中的一个函数,如下所示:

.factory("AppStart", function($cordovaSQLite) {
  return {
    init: function() {
      var res = "hello";
      console.log("in load start up page");  
    },
    create_table: function() { 
      AppStart.init();
    }
  }
});

但是我收到以下错误:

  

未定义AppStart。

那么如何在init()函数中调用create_table()函数?我尝试过调用init(),但它也无法正常工作。

1 个答案:

答案 0 :(得分:3)

为了实现这一点,我建议使用名称定义函数,然后创建一个具有引用它们的属性的服务对象,如下所示:

.factory("AppStart", function($cordovaSQLite) {
    function init() {
        var res = "hello";
        console.log("in load start up page");  
    }

    function create_table() {
        init();
    }

    return {
        init: init,
        create_table: create_table
     };
});