- 导入文件和骨架
- 保证一个 js 文件中的命名不冲突,就要进行 闭包处理
- 先创建相应的 angular 的模块,测试 angular 配置是否成功
-
- 配置路由
- 为相应的数据设置锚点,注意1.6版本要在#后面加上!
- 创建一个专门的文件 config.js 作为配置信息文件(将配置路由的逻辑拿出放置到一个独立的配置文件中)
- 获得模块,设置配置信息(自已angular.module(‘app’), 如果只有一个参数代表获得这个模块)
- 必须在相应显示的界面设置 ng-view 才有作用(不可或缺)
-
- 获取type值或者id值
- 获得type值或者id值才能从服务器获得数据。
- type是路由的一个参数,所以要在控制器中注册一个$routeParams服务.
-
- 访问网络,向豆瓣获取数据
- 根据对应的路由加载对应的数据.先必须确定对应服务器的地址
- 使用自定义服务关键字value使得地址的固定值定位为常量(方便使用)
- 将固定值与type值或者id值进行合并,得到完整的地址
- 注意如果不带上 api的key 值,容易达到最大访问限制,所以有必要在参数后面加上api的key 0b2bdeda43b5688921839c8ecb20399b
- 将api 的key值定义为一个常量
- 合并:var url = baseUrl + type + "?apiKey=" +apiKey;
- 豆瓣服务器接受callback时,名称不能出现小数点,所以没有办法是用angular内置的跨域方法.所以只能自定义jsonp,也就是自定义一个服务
-
7.自定义服务wmxHttp,自定义jsonp
(详情请见自定义服务wmxHttp,自定义jsonp) - 展示数据
获取到数据后,在页面展示不出来,是因为脏值检测的问题,手动添加方法 $scope.$apply()
- 展示数据
- 设置正在加载给用户提示(疯狂加载中)
因为是向异地服务器请求数据,所以存在一定的时延。所以要设置正在加载给用户提示,使交互更好。
- 设置正在加载给用户提示(疯狂加载中)
-
10.通过遍历 ng-repeat 绑定数据
-
- 编辑电影详情页
- 设置详情页的锚点
- 配置路由
- 重新定义一个新的控制器
- 跨域并获取数据
- 绑定在页面上
网友评论