您可以在Angular中访问从一个范围到另一个范围的变量

时间:2015-09-09 20:23:19

标签: javascript angularjs

我正在构建一个Angular.js应用程序。它确实是我第一个真正的Angular.js应用程序,所以我在学习现实世界的问题,以及如何解决它们。

在法庭上主持听证会时,我的申请将由法官使用。它有以下观点:

日历 文件 各方

它还有一个偏好设置屏幕,用于设置法院,法庭和他们通常工作的法律类型的默认选择。

我的问题在于首选项屏幕。我需要提供这样的东西:

<div>
  <div>Civil</div><div></div>
  <div>Courthouse</div><div><--dropdown of courthouses set to their default if selected already--></div>
  <div>Courtroom</div><div><-- dropdown of courtrooms in the selected courthouse. Should only populate and be selectable after courthouse is selected--></div>
</div>

我已经在另一个控制器中有代码,该法庭抓住法院和法律类型过滤的法庭,并希望在此重复使用。是在工厂中填充变量然后在任何控制器中引用变量的最佳方法吗?因此,我可能会:

angular.module('DepartmentService', []).factory('DeparrmentService', ['$rootScope', '$route', function ($rootScope, $route) {
    // Do stuff to populate the department here

    return DepartmentService;
}]);
然后我可以这样做:

$scope.departments = DepartmentService; 

这是正确的还是有另一种/更好的方法可以在我的应用程序中的各种控制器中访问这些变量?

我知道在rootScope上使用全局变量是不受欢迎的,但在我看来,最简单的方法是,如果我有一个变量,当页面刷新并且任何控制器都可以访问时它不会消失。

0 个答案:

没有答案