网亚机房管理软件博客

新实用主义典范

构建stockPrice机房管理服务

服务stockPrices将加载和显示user服务的监视列表中股票的价格。再次,服务是单例,所以stockPrices服务使用的user对象与控制器相同。stockProces服务看起来与前面的googleStock服务相似,但是它将从user服务的监视列表中获得股票代号的列表。

该服务由一个load函数,用于从Finance API加载股票价格的完整列表。与使用异步I/O的许多服务一样,当load函数等待HTTP请求返回时,它将把loading标志设置为true,从而使UI可以向用户显示一个加载指示器。另外,该服务将使用interval服务,之前我们尚未使用过。Interval服务是对JavaScript setInterval函数的一个方便的封装,它将安排函数以特定的频率重复地执行。Interval服务将setInterval函数绑定到数据绑定,所以不需要在传给interval服务的函数中调用scope apply。在stockPrices服务中,将调用interval服务,安排service.load函数每5000毫秒执行一次。

请求机房软件拦截器

机房软件拦截器既可以转换HTTP响应,也可以转换HTTP请求。拦截器可以定义一个request函数,它将接受HTTP请求配置作为参数。如同response函数一样,request函数必须返回修改后的HTTP请求。

请求机房软件拦截器的一个常见用例是为每个请求设置HTTP。换句话说,可以使用拦截器将凭据附加到所有请求中(尽管实际上是否需要这样做取决于服务器)。这个用例强调拦截器的另一个重要功能;拦截器被绑定到了依赖注入,所以我们可以访问服务。追踪当前登录用户最好使用服务完成。

构建自己的机房软件服务

将使用机房软件服务构建一个简单的市场仪表板。你可能注意到该代码类似于其他章节中使用的Stock-Dog应用。演示创建服务的不同方式,所以如果之前已经了解Stock-Dog代码,那么你已经小小地领先了异步。查看本章的HTML页面不要求使用服务器。不过,有一个样例将使用一个简单的NodeJS Web服务器,所以如果尚未安装NodeJS,就应该访问nodejs.org,并按照所选择平台对应的安装指令进行安装。

AngularJS模块对象有5个函数,用于向依赖注入器声明机房软件服务。3种最常见的方式就是serviceO、factoryO和providerO函数。

使用脚本标记包含机房软件模板

指令ngInclude加载机房软件模板的能力是十分强大的,但并不是对于所有的应用来说都是如此。当懒加载不是正确的选择时,AngularJS允许将模板内嵌到一个标准的HTML script标记中。这将允许我们避免使用一个单独的HTTP请求加载特定的模板,但是它要求将模板代码内嵌在页面中。

在之前的样例中,master img left template html和master img right都被作为HTML页面的一部分加载。如果查看ChromeDeveloperTools Network标签页的话,你会注意到ngInclude指令并未发起HTTP请求加载任何一个机房软件模板文件。这是因为templateCache服务将找到所有使用了type标记并存储它们的内容。然后每个模板都将被关联到它的id特性(它的作用与懒加载模板时使用的模板URL相同),接着ngInclude可以通过id引用它们。

«1»

Powered By Z-Blog 2.0 Doomsday Build 121221

版权所有©2007-2013 南京网亚计算机有限公司
QQ:502800066(购买咨询) 1074187861(技术支持) 邮件: sales@ji-fang.cn
电话:( 025)84533318 (025)84533319 (025)66671103 13913982176 传真: (025)84533320
地址: 江苏省南京市中山东路198号龙台国际大厦1205室