【问题标题】:AngularJS redirect to the url and call a functionAngularJS 重定向到 url 并调用一个函数
【发布时间】:2015-07-27 08:42:02
【问题描述】:

我的应用中有一个父控制器和一些子控制器。 在某些情况下,我需要将用户重定向到另一个路由 url,并在重定向后调用该函数(在 url 控制器中)。

<div ng-controller="parent">
  <!-- ng-view below -->
  <div ng-controller="url1"></div> <!-- #/url1 -->
  <div ng-controller="url2"></div> <!-- #/url2 -->
 </div>

在特定情况下,当用户仍在#/url1 中时,我需要重定向到#/url2,然后在 url2 控制器中调用函数。

【问题讨论】:

  • 它真的不是一个页面的重定向。
  • 您需要阅读Angular docs,因为我们大多数人不会为您编写代码。阅读控制器。另外,看看Angular UI-Router

标签: angularjs ngroute


【解决方案1】:

如果你只想在另一个控制器中使用一个函数,你可以将该控制器注入到你当前的控制器中,然后使用注入的控制器调用你想要的函数。

查看this 了解如何完成此操作。

这样,您也不会更改路线。

【讨论】:

  • 谢谢,但我可以像 $location.path('new_url'); 这样使用吗? $scope.$on('$routeChangeSuccess', function (scope, next, current) { $rootScope.$broadcast('openFunction', note); });
  • 使用 Angular 应用程序的 rootScope 不是一个好习惯。我建议注入控制器是一种更好的方法。或者,您可以将该功能移动到服务中,并通过在您将使用该功能的所有控制器中注入该服务来使用它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-06
  • 2015-07-17
  • 1970-01-01
  • 2017-09-16
相关资源
最近更新 更多