【问题标题】:angularjs service calling $location.path is it against best practices?angularjs 服务调用 $location.path 是否违反最佳实践?
【发布时间】:2015-05-25 22:42:06
【问题描述】:

我在 angularJS 中使用服务,我在一个方法中调用 $location.path,以便在内部另一个服务响应成功或失败后更改路由。这是否违反了 Angular 的最佳实践?

【问题讨论】:

  • 我经常使用它。我看到偶尔的评论来避免它,但没有理由。在某些情况下,唯一的其他选择是在 HTML 中的链接中使用实际目标值。我拒绝这样做。 :-P
  • 我会说它违反了一些 SOLID 原则。我会将用户体验的操作留给控制器
  • 控制器应该这样做而不是服务。

标签: javascript angularjs angular-ui-router anti-patterns angular-services


【解决方案1】:

根据其他成员提供的输入,在服务中调用 $location.path 违反了 Angular 的最佳实践,而应该在控制器中调用。

【讨论】:

  • 在服务中获得结果后如何到达控制器。我正在使用 $rootscope 。 $broadcast 到达控制器..并且知道它不好。那么我应该如何在获得结果后将控制权传递给控制器​​。请帮忙
  • @krishnajamavatoor 您可以发送回调函数作为调用服务的参数,这样控制流就会被传递回控制器。 docs.angularjs.org/api/ngResource/service/$resource
猜你喜欢
  • 1970-01-01
  • 2019-06-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-16
  • 2014-03-20
相关资源
最近更新 更多