我正在构建一个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上使用全局变量是不受欢迎的,但在我看来,最简单的方法是,如果我有一个变量,当页面刷新并且任何控制器都可以访问时它不会消失。