Ari Lerner - ng-book: The Complete Book on AngularJS [2013, PDF, MP4, ENG]

Ответить
 

Vit@1y

Стаж: 17 лет 7 месяцев

Сообщений: 12


Vit@1y · 11-Янв-14 11:46 (11 лет 8 месяцев назад, ред. 25-Мар-18 15:27)

ng-book: The Complete Book on AngularJS
Год выпуска: 2013
Автор: Ari Lerner
Жанр: WEB Development
Издательство: Ari Lerner
ISBN: 978-0-9913446-0-4
Язык: Английский
Формат: PDF
Сайт: https://www.ng-book.com/
Описание:
раздача содержит видео и полную книгу
Ready to master AngularJS?
What if you could master the entire framework – with solid foundations – in less time without beating your head against a wall? Imagine how quickly you could work if you knew the best practices and the best tools?
Stop wasting your time searching and have everything you need to be productive in one, well-organized place, with complete examples to get your project up without needing to resort to endless hours of research.
You will learn what you need to know to work professionally with ng-book: The Complete Book on AngularJS.
Готовы освоить AngularJS?
Представьте, если бы вы могли освоить весь фреймворк - на прочной основе - за меньшее время без битья головой о стену? Представьте себе, как быстро вы бы могли работать, если бы вы знали лучшие практики и самые лучшие инструменты?
Хватит тратить свое время на поиск и получите все необходимое, чтобы быть продуктивным в одном, хорошо организованном месте, с полными примерами, чтобы сдать ваш проект без необходимости прибегать к бесконечным часам исследований.
Вы узнаете, что вам нужно знать, чтобы профессионально работать с ng-book: полноре руководство по AngularJS.
Содержание
Contents
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Foreword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
About the Author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
About This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Organization of This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Additional Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Conventions Used in This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Development Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
The Basics of AngularJS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
How Web Pages Get to Your Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
What Is a Browser? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
What Is AngularJS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Data Binding and Your First AngularJS Web Application . . . . . . . . . . . . . . . . . . 10
Introducing Data Binding in AngularJS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Simple Data Binding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Best Data Binding Practices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Scopes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
The $scope View of the World . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
It’s Just HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
What Can Scopes Do? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
$scope Lifecycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Directives and Scopes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Controller Hierarchy (Scopes Within Scopes) . . . . . . . . . . . . . . . . . . . . . . . . . 27
Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Interpolating a String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
CONTENTS
Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Making Our Own Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Form Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Introduction to Directives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Directives: Custom HTML Elements and Attributes . . . . . . . . . . . . . . . . . . . . . 61
Passing Data into a Directive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Built-In Directives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Basic ng Attribute Directives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Directives with Child Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Directives Explained . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Directive Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Directive Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
AngularJS Life Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
ngModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Angular Module Loading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Run Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Multiple Views and Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Layout Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Routes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
$location Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Routing Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Other Advanced Routing Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Dependency Injection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Annotation by Inference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Explicit Annotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Inline Annotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
$inject API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
ngMin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Registering a Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Using Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Options for Creating Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Communicating with the Outside World: XHR and Server-Side Communication . . . . . 173
Using $http . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Configuration Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
CONTENTS
Response Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Caching HTTP Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Interceptors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Configuring the $httpProvider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Using $resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
Using $resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
Custom $resource Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
$resource Configuration Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
$resource Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Using Restangular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
The What and the Why . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Intro to the Restangular Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Using Restangular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Configuring Restangular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
XHR in Practice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Cross-Origin and Same-Origin Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
JSONP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Using CORS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Server-Side Proxies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
Working with JSON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Working with XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Authentication with AngularJS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Talking to MongoDB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Promises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
What’s a Promise? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Why Promises? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Promises in Angular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
Chaining Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Server Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Custom Server-Side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Install NodeJS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Install Express . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Calling APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Server-less with Amazon AWS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
AWSJS + Angular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
CONTENTS
Running . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
User Authorization/Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
UserService . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
All Aboard AWS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
AWSService . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Starting on Dynamo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
$cacheFactory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
Saving Our currentUser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
Uploading to S3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Handling File Uploads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Querying Dynamo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
Showing the Listing in HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
Selling Our Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Using Stripe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Server-less with Firebase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Three-Way Data Binding With Firebase and Angular . . . . . . . . . . . . . . . . . . . . . 283
Getting Started With AngularFire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Ordering in AngularFire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Firebase Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Implicit Synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Authentication with AngularFire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Authentication Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Beyond AngularFire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Why Test? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Testing Strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Getting Started Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Types of AngularJS Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
Initializing Karma Config File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Configuration Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Using RequireJS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
Jasmine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
Expectations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
End-to-End Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
Mocking and Test Helpers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
Mocking the $httpBackend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
Testing an App . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
Testing Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
Continuous Integration for Angular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
Protractor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
CONTENTS
Configuration Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
Writing Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
Page Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
What are Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
Event Propagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
Listening . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Event Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
Core Services Riding on Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
Directory Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
Directives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
Angular Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
How It Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
Using CSS3 Transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
Using CSS3 Animations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
Staggering CSS Transitions / Animations . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
Using JavaScript Animations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
Fine-tuning animations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
Animating Built-In Directives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
Building Custom Animations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
Integrating with Third-Party Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
The Digest Loop and $apply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
$watch List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
Dirty Checking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
$watch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
$watchCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
The $digest Loop in a Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
$evalAsync List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432
$apply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
When to Use $apply() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
Demystifying Angular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
How the View Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
Essential AngularJS Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
CONTENTS
AngularUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
ui-router . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
ui-utils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
Mobile Apps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458
Responsive Web Apps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458
Interaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458
Native Applications with Cordova . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
Getting Started with Cordova . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
Including Angular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
Building with Yeoman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
Localization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482
angular-translate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482
Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482
Teaching Your App a New Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483
Multi-language Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
Switching the Language at Run Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486
Loading Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487
angular-gettext . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
String Extraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491
Translating Our Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493
Compiling Our New Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495
Changing Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496
Caching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498
What Is a Cache? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498
Angular Caching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498
Caching through $http . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
Setting Default Cache for $http . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 501
Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503
Strict Contextual Escaping: the $sce Service . . . . . . . . . . . . . . . . . . . . . . . . . . 503
Whitelisting URLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506
Blacklisting URLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
$sce API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
Configuring $sce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510
Trusted Context Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510
AngularJS and Internet Explorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
Ajax Caching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514
CONTENTS
SEO with AngularJS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514
Getting Angular Apps Indexed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515
Server Side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515
Options for Handling SEO from the Server Side . . . . . . . . . . . . . . . . . . . . . . . . 516
Taking Snapshots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
Using Zombie.js to Grab HTML Snapshots . . . . . . . . . . . . . . . . . . . . . . . . . . 519
Using grunt-html-snapshot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
Prerender.io . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523
<noscript> Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524
Building Angular Chrome Apps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525
Understanding Chrome Apps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525
Building our Chrome App . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526
Building the Skeleton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527
manifest.json . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528
tab.html . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528
Loading the App in Chrome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
The Main Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
Building the Home Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531
Sign Up for Wunderground’s Weather API . . . . . . . . . . . . . . . . . . . . . . . . . . 533
A Settings Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538
Implementing a User Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
City Autofill/Autocomplete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544
Sprinkling in Time Zone Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
Optimizing Angular Apps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551
What to Optimize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551
Optimizing the $digest Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551
Optimizing ng-repeat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554
Optimizing the $digest Call . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554
Optimizing $watch Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554
Optimizing Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559
Tips for Optimizing Page Load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561
Debugging AngularJS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
Debugging from the DOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
Debugger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565
Angular Batarang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565
Next Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569
jqLite and jQuery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569
Essential Tools to Know About . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571
Grunt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571
grunt-angular-templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575
CONTENTS
Lineman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580
Bower . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582
Yeoman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586
Configuring the Angular Generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592
Testing Our App . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592
Packaging Our App . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593
Packaging Our Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594
Файлы примеров: отсутствуют
Формат видео: MP4
Видео: avc1,1308X754,1.735,30fps,456 Kbps
Аудио: AVC,8 bits
Скриншоты
Доп. информация:
видео для новичков, но книжка рулит. не хочу их разделять, идут вместе в этой раздаче. enjoy!
Download
Rutracker.org не распространяет и не хранит электронные версии произведений, а лишь предоставляет доступ к создаваемому пользователями каталогу ссылок на торрент-файлы, которые содержат только списки хеш-сумм
Как скачивать? (для скачивания .torrent файлов необходима регистрация)
[Профиль]  [ЛС] 

vampiri6ka

VIP (Заслуженный)

Стаж: 13 лет 8 месяцев

Сообщений: 967

vampiri6ka · 11-Янв-14 13:45 (спустя 1 час 59 мин.)

Судя по странице книжки, видео не имеет никакого отношения к ней.
А книге место в разделе книг.
[Профиль]  [ЛС] 

vampiri6ka

VIP (Заслуженный)

Стаж: 13 лет 8 месяцев

Сообщений: 967

vampiri6ka · 11-Янв-14 18:09 (спустя 4 часа)

Vit@1y писал(а):
62486401да, но продаются они вместе
Угу, увидела.
В любом случае основной продукт - это книга. О видео там и не пишут почти нигде (только в отзывах нашла)
[Профиль]  [ЛС] 

Osco do Casco

VIP (Заслуженный)

Стаж: 16 лет 2 месяца

Сообщений: 13598

Osco do Casco · 11-Янв-14 18:42 (спустя 32 мин.)

Vit@1y!
Пожалуйста:
1. Переименуйте pdf-файл по модели
Цитата:
Автор - Название - Год.расширение
, а папку - по модели
Цитата:
Автор - Название - Год
и перезалейте торрент-файл
2. Добавьте скриншоты к книге
3. Переименуйте видео-файл по что-нибудь более осмысленное
4. Измените заголовок раздачи согласно правилам
5. Добавьте ISBN
6. Добавьте в описание формат
[Профиль]  [ЛС] 

Osco do Casco

VIP (Заслуженный)

Стаж: 16 лет 2 месяца

Сообщений: 13598

Osco do Casco · 14-Янв-14 22:18 (спустя 3 дня)

Vit@1y!
Цитата:
2. Добавьте скриншоты к книге
- первый скриншот очень странный. Переделайте, пожалуйста.
И еще добавьте все форматы в заголовок раздачи.
[Профиль]  [ЛС] 

xgrommx

Стаж: 13 лет 5 месяцев

Сообщений: 12


xgrommx · 19-Янв-14 18:21 (спустя 4 дня)

А примеров к книге нет?
[Профиль]  [ЛС] 

fpinger

Стаж: 16 лет 7 месяцев

Сообщений: 415


fpinger · 26-Фев-14 02:31 (спустя 1 месяц 6 дней)

Обновление будет?
[Профиль]  [ЛС] 

fpinger

Стаж: 16 лет 7 месяцев

Сообщений: 415


fpinger · 04-Мар-14 00:13 (спустя 5 дней, ред. 04-Мар-14 00:13)

Vit@1y, книга обновилась. Вот письмо от 26 февраля
скрытый текст
Hey everyone, we're excited to announce a large update to the book!
I know it's been a little while since we've sent out an update email, but that hasn't stopped us from updating the book - we make minor edits and fixes about once a week or so.
- We've expanded the protractor section in the testing chapter.
- We've refactored a few early chapters to clarify the language and make it easier for beginners.
- We've fixed a bunch of typos.
Our updates are a direct result of feedback we get from you, our readers. If you find a bug, typo, or have a suggestion, please reach out! We love talking to you guys.
To get the update, head over to https://www.ng-book.com.
CHANGELOG:
Removed directive from validation chapter -> To directive chapter
Fixed Restangular setRequestInterceptor method in ajax in practice chapter
Fixed minor typo in angular-ui chapter
Fixed minor typo in directive chapter and chrome apps chapter
Added binding_strategies section to directives chapter
Added minor description of the $watch function in expressions as a gentler introduction to $watch
Fixed glitch in promises chapter with Github service
Fixed bug with routing chapter
Fixed typo in services chapter that had the wrong return method
Moved custom validation section into the directive chapter
Updated localization chapter with changes for angular-translate 2.0
Updated animation chapter with 1.2.9 updates ($animate:begin and $animate:end)
Fixed a small bug in code in promises chapter
Fixed all of the double 'the the' uses
Updated validations chapter example /a-zA-Z/
Replaced protractor section with entirely new, refreshed protractor content
And more...
Thank you all for the help in finding these issues. As always, just hit reply to this email and let us know what you think. You'll chat directly with the authors, not some big publishing company.
If you like the book content, would you do us a favor by sharing the website https://www.ng-book.com with your network and associates? We have tons of great new content in the pipeline, but we are independent authors: we depend upon your satisfaction and support to keep producing content.
Cheers!
[Профиль]  [ЛС] 

icalltotheriver

Стаж: 16 лет 9 месяцев

Сообщений: 2


icalltotheriver · 06-Мар-14 14:37 (спустя 2 дня 14 часов)

а что за среда разработки в видео? я разобрать не могу
[Профиль]  [ЛС] 

gatnu

Стаж: 11 лет 5 месяцев

Сообщений: 1


gatnu · 26-Мар-14 15:34 (спустя 20 дней)

you are the best my friend
i cant speak russian, but thanks to you i found the complete package of ng-book.
cheers for you man, you saved my ass.
- Greetings from Indonesia.
[Профиль]  [ЛС] 

iUrpok

Стаж: 11 лет 9 месяцев

Сообщений: 111


iUrpok · 29-Апр-14 15:43 (спустя 1 месяц 3 дня)

icalltotheriver писал(а):
63189491а что за среда разработки в видео? я разобрать не могу
это простой тектовый редактор
[Профиль]  [ЛС] 

Buratinych

Стаж: 15 лет 7 месяцев

Сообщений: 180

Buratinych · 02-Июн-14 08:51 (спустя 1 месяц 2 дня, ред. 02-Июн-14 08:51)

Ищется D3 on AngularJS этого же автора.
[Профиль]  [ЛС] 

xgrommx

Стаж: 13 лет 5 месяцев

Сообщений: 12


xgrommx · 21-Июн-14 12:57 (спустя 19 дней)

Buratinych
Найдено =) http://www.foxebook.net/d3-on-angularjs/
[Профиль]  [ЛС] 

Little_Cat

Стаж: 18 лет 1 месяц

Сообщений: 61


Little_Cat · 01-Июл-14 22:46 (спустя 10 дней)

Коллега, если не сложно - отзеркальте. Зае..ся я смотреть рекламу на фоксбуке.
[Профиль]  [ЛС] 

Buratinych

Стаж: 15 лет 7 месяцев

Сообщений: 180

Buratinych · 27-Авг-14 10:37 (спустя 1 месяц 25 дней)

xgrommx писал(а):
64325062Buratinych
Найдено =) http://www.foxebook.net/d3-on-angularjs/
Столько рекламных банеров! Можно закинуть сюда или на долее понятный файлообменник?
[Профиль]  [ЛС] 

Иван-дурак

Стаж: 17 лет 4 месяца

Сообщений: 9


Иван-дурак · 03-Сен-14 09:23 (спустя 6 дней)

Книга явно не для новичков в веб-разработке. С первых глав автор предлагает делать довольно мозголомные вещи, вроде создания собственных валидаторов в массиве $parsers. При этом объяснить, зачем это надо и почему нельзя обойтись стандартным механизмом, автор не хочет. Впрочем, следующая глава начинается с объяснения того, что такое html-тэг...
В общем, информация подаётся неравномерно. Лично мне без опыта работы на JS MVC фреймвёрках было читать трудно. Может быть, вам повезёт больше. В любом случае, выбор есть.
[Профиль]  [ЛС] 

Наташка Васильева

Стаж: 16 лет 9 месяцев

Сообщений: 57


Наташка Васильева · 06-Сен-14 15:17 (спустя 3 дня, ред. 06-Сен-14 15:17)

Vit@1y писал(а):
62616056
xgrommx писал(а):
62608085А примеров к книге нет?
прошу поделиться если кто найдет
git clone git@github.com:rajeshpillai/ng-book.git
ВНИМАНИЕ! ТРАФИК! (170,5 MB on disk)
[Профиль]  [ЛС] 

jane_smith

Стаж: 15 лет 10 месяцев

Сообщений: 3


jane_smith · 29-Окт-14 11:27 (спустя 1 месяц 22 дня)

Не подскажете, есть ли mobi версия этой книги? Если нет, то на какое качество можно рассчитывать при конвертации из pdf в mobi?
[Профиль]  [ЛС] 

fukafuka

Стаж: 17 лет 6 месяцев

Сообщений: 48


fukafuka · 01-Ноя-14 23:44 (спустя 3 дня)

А последней версии (1.3 ready) ни у кого нет?
[Профиль]  [ЛС] 

laland_the_mighty

Стаж: 15 лет 1 месяц

Сообщений: 1


laland_the_mighty · 10-Ноя-14 00:46 (спустя 8 дней)

дадада 1.3 реквестед, 80 баксов при таком курсе - жаба
[Профиль]  [ЛС] 

govgov41

Стаж: 16 лет 9 месяцев

Сообщений: 2


govgov41 · 19-Дек-14 10:18 (спустя 1 месяц 9 дней)

Киньте кто нибудь для версии 1.3 пожалуйста.
[Профиль]  [ЛС] 

dunmaksim

Стаж: 15 лет 11 месяцев

Сообщений: 24

dunmaksim · 10-Янв-15 22:44 (спустя 22 дня)

Если у кого будет последняя версия, сделайте, пожалуйста, ссылку в этой теме.
[Профиль]  [ЛС] 

electrostatic

Стаж: 14 лет 8 месяцев

Сообщений: 8


electrostatic · 16-Янв-15 12:34 (спустя 5 дней)

Есть новая, куда залить?
[Профиль]  [ЛС] 

discoalex

Стаж: 15 лет 7 месяцев

Сообщений: 19


discoalex · 19-Янв-15 10:23 (спустя 2 дня 21 час)

Спасибо! Напиши свой яндекс/киви/номер_телефона - подкину немного на пиво
[Профиль]  [ЛС] 

rootart1402

Стаж: 15 лет 1 месяц

Сообщений: 1


rootart1402 · 23-Янв-15 02:05 (спустя 3 дня)

Цитата:
62484833Ari Lerner - ng-book: The Complete Book on AngularJS [2013, PDF, MP4, ENG]
У меня с 55 страницы по 260-ую чистые листы в книжке. У кого-нибудь еще есть такая проблема?
[Профиль]  [ЛС] 

FMarshal

Стаж: 16 лет 10 месяцев

Сообщений: 3

FMarshal · 26-Янв-15 00:53 (спустя 2 дня 22 часа)

electrostatic писал(а):
66547298Есть новая, куда залить?
Был бы очень благодарен, если бы оформили раздачу.
[Профиль]  [ЛС] 

fukafuka

Стаж: 17 лет 6 месяцев

Сообщений: 48


fukafuka · 26-Янв-15 15:56 (спустя 15 часов)

electrostatic писал(а):
66547298Есть новая, куда залить?
оу, ждем с нетерпением. Или, если не хочется замарачиваться, кинь плиз файлик, а я оформлю раздачу и укажу от кого
[Профиль]  [ЛС] 

fukafuka

Стаж: 17 лет 6 месяцев

Сообщений: 48


fukafuka · 02-Фев-15 16:16 (спустя 7 дней)

UPD:
Получил файл (ревизия 23), в ближайшее время создам раздачу. Спасибо electrostatic
[Профиль]  [ЛС] 

korzhik2

Стаж: 17 лет 7 месяцев

Сообщений: 5

korzhik2 · 04-Фев-15 13:47 (спустя 1 день 21 час)

второй день жду раздачу последней версии ಠ_ಠ
[Профиль]  [ЛС] 

2k7demon

Стаж: 16 лет 4 месяца

Сообщений: 10


2k7demon · 04-Фев-15 23:53 (спустя 10 часов)

аналогично, ребята сделайте пожалуйста побыстрее
[Профиль]  [ЛС] 
 
Ответить
Loading...
Error