Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Can';无法访问控制器中的$location_Javascript_Angularjs - Fatal编程技术网

Javascript Can';无法访问控制器中的$location

Javascript Can';无法访问控制器中的$location,javascript,angularjs,Javascript,Angularjs,我正在尝试访问控制器中的$location,但我没有任何运气。下面是我的控制器代码 bwApp.controller('bidding-controller', [ '$window', '$scope', '$rootScope', '$firebase', '$location', '$compile', '$interval','$bwAppState', 'bidwrangler_api', 'AuctionService', 'CompanyService', 'Nav

我正在尝试访问控制器中的$location,但我没有任何运气。下面是我的控制器代码

bwApp.controller('bidding-controller', [
  '$window', '$scope', '$rootScope', '$firebase', '$location', 
  '$compile', '$interval','$bwAppState', 'bidwrangler_api', 'AuctionService', 
  'CompanyService', 'NavigationService', 'UserService',
  function($window, $scope, $rootScope, $firebase, $location, $compile, $interval,
           $bwAppState, bidwrangler_api, AuctionService, CompanyService, 
           NavigationService, UserService) {

     $scope.toggle_auction = function(item) {
       if ($bwAppState.user.type == "clerk" && !item.listing) {
         $window.location.href = "/clerk/" + item.auction.id + "?item=" + item.id;
       }
       else {
         var restore_pos = null;
         if ($location.search().section == 'itmes') {
           restore_pos = $('.all-items').scrollTop();
           $('.all-items').one('scroll', function(){$('.all-items').scrollTo(restore_pos)});
         }
         else if ($location.search().section == 'user_items'){
           restore_pos = $('#your-items').scrollTop();
           $('#your-items').one('scroll', function(){$('#your-items').scrollTo(restore_pos)});
         }

         NavigationService.update_push_state({item: item.id, section: 'auction'});
      }
    };
  }
]);
当我检查
$location.search().section
时,控制台中不断出现错误。如果我不在
$scope.toggleAuction()
范围内,我可以访问它。我已经将它正确地包含/注入控制器中,所以我不明白为什么我不能在$scope函数中访问它

我收到的错误如下所示:


您如何调用
toggle_auction
@Zack您是否正确地将
$location
注入服务
导航服务中?还应检查
$bwAppState`下的代码是否出错,而不是在控制器内,不确定单击时
$bwAppState
会发生什么。我最终只是把这个方法放在了一个服务中,而不是一个控制器中,现在它可以像预期的那样工作了。你能做一些像
var location=$location
这样的事情,并在你的函数中使用
location
?不是说这是好的做法,而是值得检查的。你能用类似的问题准备JSFIDLE吗?$location.search是一个不起作用的对象你如何调用
toggle\u auction
@Zack你是否正确地将
$location
注入到服务
NavigationService'中?同时检查
$bwAppState`下的代码是否出错,而不是在控制器内,不确定ng单击时,
$bwAppState
做了什么。我最终只是把这个方法放在了一个服务中,而不是一个控制器中,现在它可以像预期的那样工作了。你能做一些像
var location=$location
这样的事情,并在你的函数中使用
location
?不是说这是好的做法,而是值得检查的。您能准备类似问题的JSFIDLE吗?$location.search是一个对象而不是函数