首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >AngularJs:重新加载页面

AngularJs:重新加载页面
EN

Stack Overflow用户
提问于 2014-02-19 23:49:08
回答 12查看 397.1K关注 0票数 136
代码语言:javascript
复制
<a ng-href="#" class="navbar-brand" title="home" data-translate>PORTAL_NAME</a>

我想重新加载页面。我该怎么做呢?

EN

回答 12

Stack Overflow用户

发布于 2014-02-19 23:55:13

您可以使用$route服务的reload方法。在控制器中注入$route,然后在$scope上创建一个reloadRoute方法。

代码语言:javascript
复制
$scope.reloadRoute = function() {
   $route.reload();
}

然后你可以像这样在链接上使用它:

代码语言:javascript
复制
<a ng-click="reloadRoute()" class="navbar-brand" title="home" data-translate>PORTAL_NAME</a>

此方法将导致当前路由重新加载。但是,如果您想要执行完全刷新,则可以注入$window并使用:

代码语言:javascript
复制
$scope.reloadRoute = function() {
   $window.location.reload();
}

**稍后编辑(ui-router):**

正如JamesEddyEdwards和Dunc在他们的答案中提到的,如果您使用angular-ui/ui-router,您可以使用以下方法重新加载当前状态/路由。只需注入$state而不是$route,然后您就拥有了:

代码语言:javascript
复制
$scope.reloadRoute = function() {
    $state.reload();
};
票数 266
EN

Stack Overflow用户

发布于 2014-02-19 23:59:25

window对象是通过easier testing and mocking$window服务提供的,您可以使用以下内容:

代码语言:javascript
复制
$scope.reloadPage = function(){$window.location.reload();}

和:

代码语言:javascript
复制
<a ng-click="reloadPage"  class="navbar-brand" title="home"  data-translate>PORTAL_NAME</a>

顺便说一句,我认为$route.reload()实际上并没有重新加载页面,而是only the route

票数 52
EN

Stack Overflow用户

发布于 2015-08-27 20:14:04

代码语言:javascript
复制
 location.reload(); 

真的很管用。

代码语言:javascript
复制
<a ng-click="reload()">

$scope.reload = function()
{
   location.reload(); 
}

不需要路由或任何东西,只需要简单的老式js

票数 21
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21885518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档