如何使用Angularjs重新加载页面?

16 浏览
0 Comments

如何使用Angularjs重新加载页面?

我有一个链接。当用户点击这个链接时,页面将重新加载。我是通过以下方式实现的......\nHtml\n

     << 返回   

\nJS \n

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

\n在控制器中,我使用了javascript,但我觉得这样很糟糕。我应该如何使用angularjs来实现?

0
0 Comments

问题的出现原因是用户想要通过Angularjs重新加载页面,但是他使用了错误的方法。

解决方法是在模块中定义$route,并将JS代码更改为以下内容:

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

这种方法虽然能够正常工作,但是在Angular应用中使用window.location.reload是一个不好的做法,应该使用$window包装器来代替window,以遵循Angular的抽象。用户2975967提供了一个不好但是可行的解决方案。

为什么会有那么多负面评价呢?有任何争论吗?我理解使用这种方法是一个不好的主意,但是只是点个踩而不解释为什么不好也不是更好的做法。这篇帖子有很多问题。首先,用户说你需要在模块中定义$route,然后却完全忽略了它,并且使用了window.location.reload,这在Angular应用中也是另一个不好的做法(应该使用$window包装器代替window)。用户2975967提供了一个不好但是可行的解决方案。

0
0 Comments

问题的出现原因:

作者没有使用Angular路由,但是需要在Angular应用中重新加载页面。

解决方法:

作者可以尝试注入$window服务,并使用$window.location.reload()方法来重新加载页面。这种方法对作者来说非常有效。以下是代码示例:

$window.location.reload();

0
0 Comments

问题的出现原因是需要在AngularJS中重新加载页面,有时需要重新编译页面而不重新加载它。解决方法是使用$route服务并调用$route.reload()方法。另外,还可以使用$compile方法来重新编译页面。

下面是解决方法的具体步骤:

1. 确保将$route服务包含在作用域中。

2. 调用$route.reload()方法来重新加载页面。

3. 如果需要重新编译页面而不重新加载它,可以使用$compile方法。

例如,调用$compile(angular.element('whatever div wrapping ng-view')(scope))。

参考链接:

- [How to reload or re-render the entire page using AngularJS](https://stackoverflow.com/questions/16703215)

0