Javascript $location.search()用于外部函数重置整个$scope。如何避免呢?

Javascript $location.search()用于外部函数重置整个$scope。如何避免呢?,javascript,angularjs,angularjs-scope,angularjs-routing,angularjs-controller,Javascript,Angularjs,Angularjs Scope,Angularjs Routing,Angularjs Controller,问题示例: 它是关于controller.js文件的。我试图将cleaneArchParameters输出传递到$location.search函数中,它确实起作用,但在整个$scope重置之后 有关更多详细信息,请查看示例中的控制台。尝试勾选一些复选框。定义路线时,将reloadOnSearch参数设置为false: app.config(['$routeProvider', function($routeProvider) { $routeProvider.

问题示例:

它是关于controller.js文件的。我试图将
cleaneArchParameters
输出传递到
$location.search
函数中,它确实起作用,但在整个
$scope
重置之后


有关更多详细信息,请查看示例中的控制台。尝试勾选一些复选框。

定义路线时,将
reloadOnSearch
参数设置为
false

app.config(['$routeProvider',
    function($routeProvider) {
        $routeProvider.
        when('/', {
            templateUrl: 'bug.html',
            controller: 'appController',
            reloadOnSearch: false
        });
    }]);

这将允许您在不重新加载控制器的情况下更新搜索参数。

定义路线时,将
reloadOnSearch
参数设置为
false

app.config(['$routeProvider',
    function($routeProvider) {
        $routeProvider.
        when('/', {
            templateUrl: 'bug.html',
            controller: 'appController',
            reloadOnSearch: false
        });
    }]);

这将允许您在不重新加载控制器的情况下更新搜索参数。

我不知道angular router,但如果您使用angular ui router,则它具有一个reloadOnSearch选项,您可以在状态上设置该选项,以防查询参数更改时它重新加载状态。我不知道angular router,但是如果您使用的是angular ui router,它有一个reloadOnSearch选项,您可以在一个状态上设置该选项,以防止它在查询参数更改时重新加载状态。从6小时开始我就被困在里面了:哦,太感谢你了,老兄,我一直在努力工作。从6小时起我就被困在里面了:哦,非常感谢你,老兄xD