AngularJS |控制器内的IIFE调用自己的方法

时间:2016-08-29 23:52:33

标签: angularjs

我确信这不是完成我想要做的事情的最好方法,但这是我想出来的。我有一个需要调用方法的初始化。两者都在同一服务中。这是怎么做到的?

错误:

  

angular.js:12798 TypeError:that.admin不是函数

angular.module('app').factory('AuthService', function ($localStorage) {

  var that = this;
  var $storage = $localStorage;

  (function () {
    if ($storage.adminHash) {
      return that.admin($storage.adminHash.email, $storage.adminHash.password);
    } else {
      return;
    }
  })();

  return {

    admin: function (email, password) {
      return ...

});

代码:

promise

1 个答案:

答案 0 :(得分:1)

试试这个



angular.module('app').factory('AuthService', function($localStorage) {

  var factory = {
    admin: function(email, password) {}
  };

  var $storage = $localStorage;

  if ($storage.adminHash) {
    factory.admin($storage.adminHash.email, $storage.adminHash.password);
  }

  return factory;

});