问题描述: 在使用AngularJS进行开发过程中,发现查询字符串的值不会自动更新。
解决方法:
// 在控制器中注入 $scope 和 $location
app.controller('MyController', function($scope, $location) {
// 监听查询字符串的变化
$scope.$watch(function() {
return $location.search();
}, function(newSearch) {
// 查询字符串发生变化时执行的操作
console.log(newSearch);
}, true);
});
// 在控制器中注入 $scope 和 $routeParams
app.controller('MyController', function($scope, $routeParams) {
// 监听查询字符串的变化
$scope.$watch(function() {
return $routeParams;
}, function(newParams) {
// 查询字符串发生变化时执行的操作
console.log(newParams);
}, true);
});
// 在控制器中注入 $scope 和 $rootScope
app.controller('MyController', function($scope, $rootScope) {
// 监听查询字符串的变化
$rootScope.$on('$locationChangeSuccess', function(event, newUrl, oldUrl) {
var newSearch = $location.search();
// 查询字符串发生变化时执行的操作
console.log(newSearch);
});
});
注意:在以上代码示例中,需要将查询字符串的变化通过回调函数进行处理,可以根据实际需求进行相应的操作。