@workInProgress @ngdoc overview @name Tutorial: Step 6 @description
| {@link tutorial.step_05 Previous} | {@link http://angular.github.com/angular-phonecat/step-6/app Example} | {@link tutorial Tutorial Home} | {@link https://github.com/angular/angular-phonecat/compare/step-5...step-6 Code Diff} | {@link tutorial.step_07 Next} |
...
{{phone.snippet}}
/* App Controllers */
function PhoneListCtrl($xhr) {
var self = this;
$xhr('GET', 'phones/phones.json', function(code, response) {
self.phones = response;
});
self.orderProp = 'age';
}
//PhoneListCtrl.$inject = ['$xhr'];
__`app/phones/phones.json`__ (sample snippet):
[
{
"age": 4,
...
"carrier": "T-Mobile",
"id": "motorola-defy-with-motoblur",
"imageUrl": "http://google.com/phone/image/small/640001",
"name": "Motorola DEFY\u2122 with MOTOBLUR\u2122",
"snippet": "Are you ready for everything life throws your way?"
},
…
]
__`test/e2e/scenarios.js`__:
...
it('should render phone specific links', function() {
input('query').enter('nexus');
element('.phones li a').click();
expect(browser().location().hash()).toBe('/phones/nexus-s');
});
...
## Discussion:
* Note that we're using {@link guide.expression angular expressions} enclosed in the now-familiar
{@link angular.markup double-curly brace markup} in the href attribute values. These represent
attribute bindings, and work the same way as the bindings we saw in previous steps.
* Note also the use of the {@link angular.directive.ng:src ng:src} directive in the `| {@link tutorial.step_05 Previous} | {@link http://angular.github.com/angular-phonecat/step-6/app Example} | {@link tutorial Tutorial Home} | {@link https://github.com/angular/angular-phonecat/compare/step-5...step-6 Code Diff} | {@link tutorial.step_07 Next} |