使用 AngularJS 1.0.4
我们的 Angular 应用程序之一依赖于在加载其他任何内容之前加载的资源。我们从一个初始化的服务中做到这一点,app.run()
然后广播一个事件,其他所有东西都在监听以开始加载。
在控制器中,我们还需要访问生成的资源。所以我在每一个中都有以下内容:
$scope.parent = null;
if(!svc.parent) {
$scope.on('parentLoaded', function() {
$scope.parent = svc.parent;
});
} else {
$scope.parent = svc.parent;
}
每个控制器都绑定到一个视图,并且可以按任何顺序调用。因此,不能保证在调用控制器时加载资源,尽管如果事先调用了另一个控制器,则可以。load 事件仅在应用程序首次加载时第一次初始化服务时触发。
有更好的方法吗?
这似乎有点多余且不干净。