上节中,我们使用XHR,确切的说是$http,模拟从服务端请求了json数据。
本节,让我们给每个手机添加一个缩略图。
如果你足够细心,相信在看到上节我们为你准备好的数据的时候,一定会发现,多了一个id和imageUrl:
![](https://box.kancloud.cn/2016-07-28_579a189710f35.png)
再观察imageUrl字段的值,发现其是一个相对路径。我们说是相对于哪个文件呢?如果你还记得我们在模块中的路径设计,那么相信你一定不会陌生。在模块中的路径是相对于index.html的。同样,这个路径也是如此。
我们为你准备了json文件的同时,还为你准备好了图像文件。 地址如下:http://guide.mengyunzhi.com/angular-phonecat/app/img/phones.zip
下载后,解压至img/phones文件夹。
`img/phones`
~~~~
├── img
│ └── phones
├── index.html
~~~
解压后,phones文件夹中会多出如下这些文件:
~~~
├── dell-streak-7.0.jpg
├── dell-streak-7.1.jpg
├── dell-streak-7.2.jpg
├── dell-streak-7.3.jpg
├── dell-streak-7.4.jpg
├── dell-venue.0.jpg
├── dell-venue.1.jpg
├── dell-venue.2.jpg
...
~~~
## 添加缩略图片
下面,我们改写模板文件。
`yun-zhi/phone-list.template.html`
~~~
<li ng-repeat="phone in $ctrl.phones | filter:$ctrl.query | orderBy:$ctrl.orderProp" class="thumbnail">
<img ng-src="{{phone.imageUrl}}" alt="{{phone.name}}" class="thumb"/>
<span>{{phone.name}}</span>
<p>{{phone.snippet}}</p>
</li>
~~~
测试:
![](https://box.kancloud.cn/2016-07-28_579a189749886.png)
在这里,我们使用了一个叫做ng-src的属性代替了src属性。在angularjs的世界里,我们将完全使用ng-src代替src。在一般情况下,ng-src 和 src 没有任何区别。但在图片未正确获取时就不一样了。这个问题,我们可以google: ng-src vs src,然后你将很轻松的定位到以下链接: http://stackoverflow.com/questions/27554765/use-of-ng-src-vs-src 。
两者有什么区别呢?
简单来说,使用ng-src会等页面加载后,再去加载图片文件。这样用户的浏览感受更好。如果你不太清楚,那么只需要记住使用ng-src就可以了。
- 前言
- 第一章:准备知识
- 第一节:GIT
- 第二节:Node.js
- 第三节:http-server
- 第四节:bower
- 第五节:firefox+chrome
- 第二章:官方示例教程
- 第零节:Hello Yunzhier
- 第一节:静态模板
- 第二节:MVC
- 回调函数
- 第三节:组件
- 第四节:重构组件
- 2.4.1 调用组件
- 2.4.2 规划目录结构
- 2.4.3 剥离V层
- 2.4.4 大话测试
- 第五节:循环过滤器
- 第六节:双向数据绑定
- 第七节:XHR与依赖注入
- 第八节:添加缩略图
- 第九节:模拟页面跳转
- 2.9.1 使用bower
- 2.9.2 使用grunt
- 第十节:完善手机详情页
- 第十一节:自定义过滤器
- 第十二节:行为处理
- 第十三节:封装请求
- 第十四节:应用动画
- 第十五节:总结
- 第三章:菜谱管理示例
- 第四章:总结