AngularJS-将代码重构为Service / Factory

时间:2019-07-22 12:48:49

标签: javascript angularjs

我需要重构一些代码并将其转换为工厂/服务调用。这是用于自动完成下拉菜单的原始代码。

$scope.querySearchManagerName = function (skill) {
    console.log(skill);
    //var entry = skill.replace(/ /g, "_").toLowerCase()

    var query = {
      "managerName" : skill
    }
    if(skill.length < 2){
        return [query]
    }
    else{
        return $http.post('/tdp/managerTypeahead/', query)
        .then(function(result) {
            return result.data;
        })
        .catch(function(reason) {
          $scope.genericError();
          }
        )
    }
}

我转换为的工厂代码是:

var querySearchManagerName = function(skill) {
   var query = {
      "managerName" : skill
   }
   return $http.post('/tdp/managerTypeahead/', query)
     .then(function(result) {
        return result.data;
    })
    .catch(function(reason) {
      $scope.genericError();
      }
    )
}

工厂的电话是:

$scope.querySearchManagerName = function (skill) {
    console.log(skill);
   //var entry = skill.replace(/ /g, "_").toLowerCase()

   var query = {
     "managerName" : skill
   }
   if(skill.length < 2){
       return [query]
   }
   else{
    return $scope.demandFactory.querySearchManagerName(skill);
   }
 }

但是我遇到一个错误:

  

TypeError:$ scope.demandFactory.querySearchManagerName不是函数。

任何提示我为什么得到它?

0 个答案:

没有答案