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

时间:2014-02-04 17:31:08

标签: javascript angularjs

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

角度的一大卖点是数据封装,易于维护。在呈现视图之前需要加载页面的数据。从文档中,我想我们在使用$ q.promise进行路由配置时使用了解析结构来实现它。好吧,为此,我需要将我的控制器,数据服务模块或我的数据模型注入app.config。不幸的是,配置不允许注入(根据文档)。所以我被困住了。

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

有更好的方法吗? Angular控制器是否应该提供加载数据的回调?

1 个答案:

答案 0 :(得分:1)

首先,让我纠正那里的一个小误解。 AngularJS中没有任何内容需要在第一次渲染之前加载页面的数据。这样会很好,但HTML中的绑定通常可以处理最初没有显示范围的数据。因此,您可以随时加载到“空”页面,并在服务调用加载数据后将其填入并将其放入$ scope。

但除此之外,让我指出一些关于Egghead.io的三个简短视频,可以帮助您完全按照自己的方式获得:https://egghead.io/search?q=resolve

观看该页面上的视频35,36和37。这三个时间的总时间将少于15分钟,但它应该非常清楚如何执行您想要的解决方案。您应该能够以注入$ timeout的方式向该函数注入$ http,并且您可以进行要进行的调用以获取初始数据。视频#37是一个非常好的视频,因为它涵盖了当您的服务调用出现问题时如何处理的错误处理案例,并且您不希望向最终用户显示一个漂亮的空白页。