Javascript 渲染前加载的角度页面数据

Javascript 渲染前加载的角度页面数据,javascript,angularjs,Javascript,Angularjs,我是Angular的新手,所以对于精明的Angular开发人员来说,我的问题可能听起来很愚蠢 angular的最大卖点是数据封装,便于维护。在呈现视图之前,需要加载页面的数据。从文档中,我假设我们在路由配置中使用resolve结构,并使用$q.promise来实现它。为了实现这一点,我需要将我的控制器、数据服务模块或数据模型注入app.config。不幸的是,config不允许注入(根据文档)。所以我被卡住了 我的下一个尝试是为beforeRoutingChange(类似的东西)附加一个事件处理

我是Angular的新手,所以对于精明的Angular开发人员来说,我的问题可能听起来很愚蠢

angular的最大卖点是数据封装,便于维护。在呈现视图之前,需要加载页面的数据。从文档中,我假设我们在路由配置中使用resolve结构,并使用$q.promise来实现它。为了实现这一点,我需要将我的控制器、数据服务模块或数据模型注入app.config。不幸的是,config不允许注入(根据文档)。所以我被卡住了

我的下一个尝试是为beforeRoutingChange(类似的东西)附加一个事件处理程序来进行加载。我不喜欢这种方法,但如果我坚持使用数据封装,似乎唯一有效的方法就是控制器或模型对象控制加载


有更好的办法吗?角度控制器是否应该为加载数据提供回调?

首先,让我纠正一个小的误解。AngularJS中没有任何内容要求在首次呈现之前加载页面数据。这很好,但是HTML中的绑定通常可以处理范围中没有数据的情况。因此,您可以始终加载到一个“空”页面,并在服务调用加载数据并将其放入$scope后让其填充

除此之外,让我向您介绍Egghead.io上的一系列三个短视频,它们应该可以帮助您以您想要的方式实现这一点:


在该页面上观看视频35、36和37。这三种方法的总时间都不到你的15分钟,但它应该清楚地说明如何执行你想要做的决定。您应该能够向函数中注入$http,就像他注入$timeout一样,并且您可以进行想要进行的调用以获取初始数据。视频#37是一个非常好的解决方案,因为它涵盖了错误处理案例,即当您的服务呼叫出现问题时,您不想向最终用户显示一个漂亮的空白页。

很难想象您的代码能够想出一个可能的解决方案……您看过本教程了吗?它通过几种方式来加载数据。这是他们通过ajax调用加载它的页面。