Javascript Can';无法访问控制器中的$location
我正在尝试访问控制器中的$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
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是一个对象而不是函数