繁体   English   中英

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

[英]angular page data loaded before rendering

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

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

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

有没有更好的办法? Angular控制器是否应提供用于加载数据的回调?

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

但是除此之外,让我为您指出Egghead.io上的三个短片系列,这些视频应该可以帮助您完全按照自己的意愿进行操作: https ://egghead.io/search?q=resolve

在该页面上观看视频35、36和37。 这三者的总时间将少于您的时间15分钟,但这应该使您清楚地知道如何执行要执行的解决方案。 您应该能够像注入$ timeout一样将$ http注入到函数中,并且可以进行要获取初始数据的调用。 视频#37是一个非常不错的视频,因为它涵盖了错误处理情况,即在服务调用出现问题并且您不想向最终用户展示漂亮的空白页时该怎么办。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM