AngularJS $ location.path相同的url

时间:2014-08-18 14:08:48

标签: angularjs angularjs-scope

我想使用

手动重新加载页面
 $location.path('/account');

正确移动到其他页面,但我想使用

 $location.path('/account/messages');

在/ account / messages上重新加载页面,但它什么也没做。重新加载的正确代码是什么?

由于

亚历

3 个答案:

答案 0 :(得分:6)

您的问题不清楚,如果您想要刷新页面(比如点击F5),一个解决方案是@Rabi答案。

但如果您只想重新加载ng-view下的内容,重新初始化当前路由控制器,您可以使用:

$route.reload();

另见:$route documentation

答案 1 :(得分:3)

理想情况下,您永远不应刷新AngualrJS中的整个页面。 如果您需要这样做,则表明您没有正确使用AngularJS。要更新页面,您需要的只是更新模型,页面将相应更新。

$ location服务无法提供刷新整个页面的权限。 如果需要刷新整个页面,则需要使用$ window.location对象。

$window.location.href = "/path/page";

答案 2 :(得分:2)

默认情况下,当使用角度位置服务时,它不会为同一个网址重新加载或进行ajax调用,根据他们的文档,如果你仍然想使用$ location服务重新加载相同的网址,那么试试这个简单特技。

$location.path('/urs_whatever_url/'+Math.random());

通过上面的行更改网址代码后,还可以更改$ routeProvider或$ stateProvider中的网址 url:/'urs_whatever_url/:id'此处:id是虚拟变量,现在强制角度来改变路径。