Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.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 Angularjs查询字符串更改事件_Javascript_Angularjs - Fatal编程技术网

Javascript Angularjs查询字符串更改事件

Javascript Angularjs查询字符串更改事件,javascript,angularjs,Javascript,Angularjs,我在Angular js中有一个控制器,它根据查询字符串获取数据 url是这样的 入站代理#/?电话=2343434 if ($location.search().phone) { var phone = $location.search().phone; //Get data } 问题是

我在Angular js中有一个控制器,它根据查询字符串获取数据

url是这样的

入站代理#/?电话=2343434

                        if ($location.search().phone) {
                            var phone = $location.search().phone;
                            //Get data
                        }
问题是,每当我更改phone的值并按enter键时,控制器代码不会执行,页面也不会刷新

但是,它会在第二次按enter键时执行。数据被刷新。 如果在第一次更改查询字符串后按Reload,也可以正常工作

有人能告诉我为什么会有这种行为吗?我想在有人手动更改查询字符串并第一次按enter键时获取更新的数据


我使用的是Chrome 38。

您可能应该按照此处所述监听路由更改:(使用
$scope.$on(“$routeUpdate”,…)
您是否尝试通过RouteParameters而不是搜索来获取它?我解决了这个问题。每当我更改查询字符串时,都会调用子控制器,而不是在标记处定义的子控制器。