How to include/inject functions which use $scope into a controller in angularjs?

后端 未结 3 1257
醉酒成梦
醉酒成梦 2020-12-31 10:23

I am trying to include a library of functions, held in a factory, into a controller. Similar to questions like this: Creating common controller functions

My

3条回答
  •  温柔的废话
    2020-12-31 10:40

    This isn't the exact answer for this question, but I had a similar issues that I solved by simply passing $scope as an argument to a function in my factory. So it won't be the normal $scope, but $scope at the time the function in the factory is called.

    app.controller('AppController', function($scope, AppService) {
    
    
      $scope.getList = function(){
    
        $scope.url = '/someurl'
    
        // call to service to make rest api call to get data
    
        AppService.getList($scope).then(function(res) {
          // do some stuff 
    
        });
      }
    
    });
    
    
    app.factory('AppService', function($http, $q){
      var AppService = {
    
        getList: function($scope){
          return $http.get($scope.url).then(function(res){
            return res;
          });
        },
    
      }
    
      return AppService;
    });
    

提交回复
热议问题