AngularJS权威教程

AngularJS权威教程

暂无评价综合评分的显示会考虑用户真实性等多项因素,每部作品出现综合评分的时间不定。
7.3135 评价豆瓣读书
免费试读

作品简介

本书是学习AngularJS的公认经典,内容全面,讲解通俗,适合各层次的学习者。作者拥有丰富的AngularJS开发和教学经验,也是一位全栈工程师。全书35章,由浅入深地讲解了AngularJS的基本概念和基本功能,包括模块、作用域、控制器、表达式、指令、路由、依赖注入等,重要的是书中对每一个概念的讲解都配合了恰如其分的示例和代码,让读者通过动手实践,切身体会到这些概念的含义和价值。《AngularJS权威教程》后半部分深入到AngularJS应用开发,系统地讨论了服务器通信、事件、架构、动画、本地化、安全、缓存、移动应用等主题。

Ari Lerner,全栈工程师,拥有多年AngularJS经验,自办并运营AngularJS电子报ng-newsletter.com,在著名硅谷工程师培训学校Hack Reactor担任AngularJS讲师。他的工作涉及软件开发的各个层次,包括基础设施开发、前端应用开发和性能优化。他目前住在旧金山一个阳光明媚的地方,还是FullStack.io创始人。

作品目录

  1. 在微博上分享这本书
  2. 献词
  3. 特别感谢
  4. 译者序
  5. 何鹏飞的个人致谢
  6. 赵望野的个人致谢
  7. 引言
  8. 致谢
  9. 关于本书
  10. 本书读者对象
  11. 本书组织结构
  12. 其他资源
  13. 本书排版约定
  14. 开发环境
  15. 第 1 章 初识AngularJS
  16. 1.1 浏览器如何获取网页
  17. 1.2  浏览器是什么
  18. 1.3 AngularJS是什么
  19. 1.3.1 AngularJS有什么不同
  20. 1.3.2 许可
  21. 第 2 章 数据绑定和第一个AngularJS Web应用
  22. Hello World
  23. 2.1 AngularJS中的数据绑定
  24. 2.2 简单的数据绑定
  25. 2.3 命名你的应用
  26. 2.4 滴答的时钟
  27. 2.5 数据绑定的最佳实践
  28. 第 3 章 模块
  29. 3.1 参数
  30. 3.1.1  name (字符串)
  31. 3.1.2  requires (字符串数组)
  32. 第 4 章 作用域
  33. 4.1 视图和 $scope 的世界
  34. 4.2 就是HTML而已
  35. 4.3 作用域能做什么
  36. 4.4  $scope 的生命周期
  37. 4.4.1 创建
  38. 4.4.2 链接
  39. 4.4.3 更新
  40. 4.4.4 销毁
  41. 4.5 指令和作用域
  42. 第 5 章 控制器
  43. 控制器嵌套(作用域包含作用域)
  44. 第 6 章 表达式
  45. 6.1 解析AngularJS表达式
  46. 6.2 插值字符串
  47. 第 7 章 过滤器
  48. 1. currency
  49. 2. date
  50. 3. filter
  51. 4. json
  52. limitTo
  53. 6. lowercase
  54. 7. number
  55. 8. orderBy
  56. 9. uppercase
  57. 7.1 自定义过滤器
  58. 7.2 表单验证
  59. 1. 必填项
  60. 2. 最小长度
  61. 3. 最大长度
  62. 4. 模式匹配
  63. 5. 电子邮件
  64. 6. 数字
  65. 7. URL
  66. 8. 自定义验证
  67. 9. 在表单中控制变量
  68. 10. 一些有用的CSS样式
  69. 11. 组合实例
  70. ngMessages(1.3+)
  71. 第 8 章 指令简介
  72. 1. HTML文档
  73. 2. HTML节点
  74. 3. HTML元素
  75. 4. HTML标签
  76. 5. 属性
  77. 8.1 指令:自定义HTML元素和属性
  78. 1. HTML引导
  79. 2. 我们的第一个指令
  80. 3. 关于IE浏览器
  81. 4. 表达式
  82. 8.2 向指令中传递数据
  83. 错误?
  84. 第 9 章 内置指令
  85. 9.1 基础 ng 属性指令
  86. 9.1.1 布尔属性
  87. 1. ng-disabled
  88. 2. ng-readonly
  89. 3. ng-checked
  90. 4. ng-selected
  91. 9.1.2 类布尔属性
  92. 1. ng-href
  93. 2. ng-src
  94. 9.2 在指令中使用子作用域
  95. 1. ng-app
  96. 2. ng-controller
  97. 3. ng-include
  98. 4. ng-switch
  99. 5. ng-view
  100. 6. ng-if
  101. 7. ng-repeat
  102. 8. ng-init
  103. 9. {{ }}
  104. 10. ng-bind
  105. 11. ng-cloak
  106. 12. ng-bind-template
  107. 13. ng-model
  108. 14. ng-model-options
  109. 15. ng-show/ng-hide
  110. 16. ng-change
  111. 17. ng-form
  112. 18. ng-click
  113. 19. ng-select
  114. 20. ng-submit
  115. 21. ng-class
  116. 22. ng-attr-(suffix)
  117. 第 10 章 指令详解
  118. 10.1 指令定义
  119. 1. name (字符串)
  120. 2. factory_function (函数)
  121. 10.1.1  restrict (字符串)
  122. 元素方式还是属性方式
  123. 10.1.2 优先级(数值型)
  124. 10.1.3  terminal (布尔型)
  125. 10.1.4  template (字符串或函数)
  126. 10.1.5  templateUrl (字符串或函数)
  127. 10.1.6  replace (布尔型)
  128. 10.2 指令作用域
  129. 10.2.1  scope 参数(布尔型或对象)
  130. 10.2.2 隔离作用域
  131. 10.3 绑定策略
  132. 双向数据绑定
  133. 10.3.1  transclude
  134. 10.3.2  controller (字符串或函数)
  135. 1. $scope
  136. 2. $element
  137. 3. $attrs
  138. 4. $transclude
  139. 10.3.3  controllerAs (字符串)
  140. 10.3.4  require (字符串或数组)
  141. 没有前缀
  142. 10.4 AngularJS的生命周期
  143. 10.4.1 编译阶段
  144. 10.4.2  compile (对象或函数)
  145. 10.4.3 链接
  146. 10.5  ngModel
  147. 10.5.1 自定义渲染
  148. 10.5.2 属性
  149. 1. $viewValue
  150. 2. $modelValue
  151. 3. $parsers
  152. 4. $formatters
  153. 5. $viewChangeListeners
  154. 6. $error
  155. 7. $pristine
  156. 8. $dirty
  157. 9. $valid
  158. 10. $invalid
  159. 10.6 自定义验证
  160. 第 11 章 AngularJS模块加载
  161. 11.1 配置
  162. 11.2 运行块
  163. 第 12 章  多重视图和路由
  164. 12.1 安装
  165. 12.2 布局模板
  166. 12.3 路由
  167. 1. controller
  168. 2. template
  169. 3. templateUrl
  170. 4. resolve
  171. 5. redirectTo
  172. 6. reloadOnSearch
  173. $routeParams
  174. 12.4  $location 服务
  175. 1. path()
  176. 2. replace()
  177. 3. absUrl()
  178. 4. hash()
  179. 5. host()
  180. 6. port()
  181. 7. protocol()
  182. 8. search()
  183. 9. url()
  184. 12.5 路由模式
  185. 标签模式
  186. 12.5.1 HTML5模式
  187. 12.5.2 路由事件
  188. 1. $routeChangeStart
  189. 2. $routeChangeSuccess
  190. 3. $routeChangeError
  191. 4. $routeUpdate
  192. 12.5.3 关于搜索引擎索引
  193. 12.6 更多关于路由的内容
  194. 12.6.1 页面重新加载
  195. 12.6.2 异步的地址变化
  196. 第 13 章 依赖注入
  197. 13.1 推断式注入声明
  198. 13.2 显式注入声明
  199. 13.3 行内注入声明
  200. 13.4  $injector API
  201. 13.4.1  annotate()
  202. 13.4.2  get()
  203. 13.4.3  has()
  204. 13.4.4  instantiate()
  205. 13.4.5  invoke()
  206. 13.5  ngMin
  207. 13.5.1 安装
  208. 13.5.2 使用 ngMin
  209. 13.5.3 工作原理
  210. 第 14 章 服务
  211. 14.1 注册一个服务
  212. 14.2 使用服务
  213. 14.3 创建服务时的设置项
  214. 14.3.1  factory()
  215. 14.3.2  service()
  216. 14.3.3  provider()
  217. 14.3.4  constant()
  218. 14.3.5  value()
  219. 14.3.6 何时使用 value() 和 constant()
  220. 14.3.7  decorator()
  221. 第 15 章 同外界通信:XHR和服务器通信
  222. 15.1 使用 $http
  223. 快捷方法
  224. 1. get()
  225. 2. delete()
  226. 3. head()
  227. 4. jsonp()
  228. 5. post()
  229. 6. put()
  230. 15.2 设置对象
  231. 1. method (字符串)
  232. 2. url (字符串)
  233. 3. params (字符串 map 或对象)
  234. 4. data (字符串或对象)
  235. 5. headers (对象)
  236. 6. xsrfHeaderName (字符串)
  237. 7. xsrfCookieName (字符串)
  238. 8. transformRequest (函数或函数数组)
  239. 9. transformResponse (函数或函数数组)
  240. 10. cache (布尔型或缓存对象)
  241. 11. timeout (数值型或promise对象)
  242. 12. withCredentials (布尔型)
  243. 13. responseType (字符串)
  244. 15.3 响应对象
  245. 15.4 缓存HTTP请求
  246. 15.5 拦截器
  247. 15.6 设置 $httpProvider
  248. 15.7 使用 $resource
  249. 15.8 安装
  250. 15.9 应用 $resource
  251. 15.9.1 基于HTTP GET方法
  252. 1. get(params, successFn, errorFn)
  253. 2. query(params, successFn, errorFn)
  254. 15.9.2 基于非HTTP GET类型的方法
  255. 1. save(params, payload, successFn, errorFn)
  256. 2. delete(params, payload, successFn, errorFn)
  257. 3. remove(params, payload, successFn, errorFn)
  258. 15.9.3  $resource 实例
  259. 15.9.4  $resource 实例是异步的
  260. 15.9.5 附加属性
  261. 15.10 自定义 $resource 方法
  262. 15.11  $resource 设置对象
  263. 1. method (字符串)
  264. 2. url (字符串)
  265. 3. params (字符串 map 或对象)
  266. 4. isArray (布尔型)
  267. 5. transformRequest (函数或函数数组)
  268. 6. transformResponse (函数或函数数组)
  269. 7. cache (布尔型或缓存对象)
  270. 8. timeout (数值型或promise对象)
  271. 9. withCredentials (布尔型)
  272. 10. responseType (字符串)
  273. 11. interceptor (对象)
  274. 15.12  $resource 服务
  275. $resource API
  276. 15.13 使用Restangular
  277. 15.14 Restangular简介
  278. 1. promise
  279. 2. promise展开
  280. 3. 清晰明了
  281. 4. 全HTTP方法支持
  282. 5. 忘记URL
  283. 6. 资源嵌套
  284. 7. 一个实例
  285. 15.15 安装Restangular
  286. 15.16 Restangular对象简介
  287. 15.17 使用Restangular
  288. 15.17.1 我的HTTP方法们怎么办
  289. 15.17.2 自定义查询参数和头
  290. 15.18 设置Restangular
  291. 1. 设置 baseUrl
  292. 2. 添加元素转换
  293. 3. 设置 responseInterceptors
  294. 4. 使用 requestInterceptors
  295. 5. 自定义字段
  296. 6. 通过 errorInterceptors 来捕获错误
  297. 7. 孤立资源设置
  298. 8 使用超媒体
  299. 9. 自定义Restangular服务
  300. 第 16 章 XHR实践
  301. 16.1 跨域和同源策略
  302. 16.2 JSONP
  303. 16.3 使用CORS
  304. 16.3.1 设置
  305. 16.3.2 服务器端CORS支持
  306. 16.3.3 简单请求
  307. 16.3.4 非简单请求
  308. 预请求
  309. 16.4 服务器端代理
  310. 16.5 使用JSON
  311. 16.6 使用XML
  312. 16.7 使用AngularJS进行身份验证
  313. 16.7.1 服务器端需求
  314. 1. 服务器端视图渲染
  315. 2. 纯客户端身份验证
  316. 16.7.2 客户端身份验证
  317. 1. 保护API访问的资源
  318. 2. 使用路由定义受保护资源
  319. 3. 发送经过身份验证的请求
  320. 16.8 和MongoDB通信
  321. 第 17 章 promise
  322. 17.1 什么是promise
  323. 17.2 为什么使用promise
  324. 17.3 Angular中的promise
  325. 如何创建一个promise
  326. 17.4 链式请求
  327. 17.4.1  all(promises)
  328. 17.4.2  defer()
  329. 17.4.3  reject(reason)
  330. 17.4.4  when(value)
  331. 第 18 章 服务器通信
  332. 18.1 自定义服务器端
  333. 18.2 安装NodeJS
  334. 18.3 安装Express
  335. 18.4 调用API
  336. 18.5 使用Amazon AWS的无服务器应用
  337. 18.5.1 DynamoDB
  338. 18.5.2 简单通知服务(SNS)
  339. 18.5.3 简单队列服务(SQS,Simple Queue Service)
  340. 18.5.4 简单存储服务(S3)
  341. 18.5.5 安全令牌服务(STS)
  342. 18.6 AWSJS + Angular
  343. 18.7 开始
  344. 18.8 介绍
  345. 18.9 安装
  346. 18.10 运行
  347. 18.11 用户认证/鉴权
  348. 18.12  UserService
  349. 18.13 迁移到AWS上
  350. 1. S3
  351. 2. DynamoDB
  352. 18.14 AWSService
  353. 18.15 在Dynamo上开始
  354. 18.16  $cacheFactory
  355. 18.17 保存 currentUser
  356. 18.18 上传到S3
  357. 18.19 处理文件上传
  358. 18.20 查询Dynamo
  359. 18.21 在HTML显示列表
  360. 18.22 出售我们的作品
  361. 18.23 使用Stripe
  362. 18.24 使用Firebase的无服务器应用
  363. 18.25 使用Firebase和Angular的三方数据绑定
  364. 18.26 从AngularFire开始
  365. 18.26.1 注册并创建一个Firebase
  366. 18.26.2 包含Firebase和AngularFire库
  367. 18.26.3 把Firebase作为依赖项添加
  368. 18.26.4 绑定模型到Firebase URL
  369. FirebaseRef (Firebase引用)
  370. 18.26.5 数据同步
  371. 1. $add(value)
  372. 2. $remove(key)
  373. 3. $save(key)
  374. 4. $child(key)
  375. 5. $set(value)
  376. 18.27 在AngularFire中排序
  377. 18.28 Firebase事件
  378. 1. loaded
  379. 2. change
  380. 18.29 显式同步
  381. 18.30 用AngularFire进行认证
  382. 18.31 认证事件
  383. 18.31.1  $logout()
  384. 18.31.2  $createUser()
  385. 18.32 使用Firebase托管部署你的Angular应用
  386. 18.32.1 安装Firebase工具
  387. 18.32.2 部署你的Web站点
  388. 18.33 除了AngularFire之外
  389. 第 19 章 测试
  390. 19.1  为什么要做测试
  391. 19.2 测试策略
  392. 19.3 开始测试
  393. 19.4 AngularJS测试的类型
  394. 19.4.1 单元测试
  395. 何时选择单元测试
  396. 19.4.2 端到端测试
  397. 何时选择端到端测试
  398. 19.5 开始
  399. 19.6 初始化Karma配置文件
  400. 1. 建立单元测试
  401. 2. 建立端到端测试
  402. 19.7 配置选项
  403. 1. 框架
  404. 2. RequireJS
  405. 3. 浏览器捕获
  406. 4. 源文件和测试文件
  407. 5. 顺序
  408. 6. exclude
  409. 7. basePath
  410. 8. autoWatch
  411. 9. captureTimeout
  412. 10. colors
  413. 11. hostname
  414. 12. logLevel
  415. 13. 端口
  416. 14. 预处理器
  417. 15. 代理
  418. 16. 报表
  419. 17. singleRun
  420. 18. urlRoot
  421. 19.8 使用RequireJS
  422. 1. karma.conf.js
  423. 2. test/test-main.js
  424. 19.9 Jasmine
  425. 19.9.1 细则套件
  426. 19.9.2 定义一个细则
  427. 19.10 预期
  428. 19.10.1 内置的匹配器
  429. 1. toBe
  430. 2. toEqual
  431. 3. toMatch
  432. 4. toBeDefined
  433. 5. toBeUndefined
  434. 6. toBeNull
  435. 7. toBeTruthy
  436. 8. toBeFalsy
  437. 9. toContain
  438. 10. toBeLessThan
  439. 11. toBeGreaterThan
  440. 12. toBeCloseTo
  441. 13. toThrow
  442. 14. 创建自定义匹配器
  443. 19.10.2 安装和卸载
  444. 19.11 端到端的介绍
  445. 1. 导航页面
  446. 2. 刷新页面
  447. 3. 操作 window 对象
  448. 4. 位置、位置、位置
  449. 5. 建立预期
  450. 6. 跟内容交互
  451. 7. 选择页面上的元素
  452. 8. 与Angular的绑定进行交互
  453. 9. 与输入元素交互
  454. 19.11.1 选项输入
  455. 19.11.2 重复循环元素
  456. 19.12 模拟和测试帮助函数
  457. 19.13 模拟 $httpBackend
  458. 1. 冲刷HTTP请求
  459. 2. expect
  460. 3. requestHandler
  461. 4. when
  462. 19.14 测试一个应用
  463. 19.14.1 测试路由
  464. 1. 单元测试路由
  465. 2. 端到端的路由测试
  466. 19.14.2 测试页面内容
  467. 端到端测试页面内容
  468. 19.14.3 测试控制器
  469. 1. 单元测试控制器
  470. 2. 端到端测试控制器
  471. 19.14.4 测试服务和工厂
  472. 1. 单元测试服务
  473. 2. 端到端测试服务
  474. 19.14.5 测试过滤器
  475. 1. 单元测试过滤器
  476. 2. 端到端测试过滤器
  477. 19.14.6 测试模板
  478. 1. 单元测试模板
  479. 2. 端到端测试模板
  480. 19.14.7 测试指令
  481. 1. 单元测试指令
  482. 2. 端到端测试指令
  483. 19.15 测试事件
  484. 1. 单元测试事件
  485. 2. 端到端测试事件
  486. 19.16 对Angular的持续集成
  487. 19.17 Protractor
  488. 安装
  489. 19.18 配置
  490. 运行
  491. 19.19 配置选项
  492. 1. seleniumServerJar (字符串)
  493. 2. seleniumPort (整数)
  494. 3. chromeDriver (字符串)
  495. 4. seleniumArgs (数组)
  496. 5. sauceUser / sauceKey (字符串)
  497. 6. seleniumAddress (字符串)
  498. 7. allScriptsTimeout (整数)
  499. 8. specs (数组)
  500. 9. capabilities (对象)
  501. 10. baseUrl (字符串)
  502. 11. rootElement (字符串)
  503. 12. onPrepare (字符串/函数)
  504. 13. params (对象)
  505. 14. jasmineNodeOpts (对象)
  506. 19.20 编写测试
  507. 1. browser
  508. 2. element
  509. 3. by
  510. 4. protractor
  511. 19.21 测试实践
  512. 19.21.1 我们的应用
  513. 19.21.2 测试的策略
  514. 19.22 建立我们的第一个测试
  515. 19.23 测试输入框
  516. 19.23.1 测试列表
  517. 19.23.2 测试路由
  518. 19.24 页面对象
  519. 还要更多吗
  520. 第 20 章 事件
  521. 20.1 什么是事件
  522. 20.2 事件传播
  523. 20.2.1 使用 $emit 来冒泡事件
  524. 20.2.2 使用 $broadcast 向下传递事件
  525. 1. name (字符串)
  526. 2. args (集合)
  527. 20.3 事件监听
  528. 20.4 事件对象
  529. 1. targetScope (作用域对象)
  530. 2. currentScope (作用域对象)
  531. 3. name (字符串)
  532. 4. stopPropagation (函数)
  533. 5. preventDefault (函数)
  534. 6. defaultPrevented (布尔值)
  535. 20.5 事件相关的核心服务
  536. 20.5.1 核心系统的 $emitted 事件
  537. 1. $includeContentLoaded
  538. 2. $includeContentRequested
  539. 3. $viewContentLoaded
  540. 20.5.2 核心系统的 $broadcast 事件
  541. 1. $locationChangeStart
  542. 2. $locationChangeSuccess
  543. 3. $routeChangeStart
  544. 4. $routeChangeSuccess
  545. 5. $routeChangeError
  546. 6. $routeUpdate
  547. 7. $destroy
  548. 第 21 章 架构
  549. 21.1 目录结构
  550. 21.2 模块
  551. 1. 函数模块化
  552. 2. 功能的模块化
  553. 21.3 控制器
  554. 在控制器之间共享数据
  555. 21.4 指令
  556. 21.5 测试
  557. 第 22 章 Angular动画
  558. 22.1 安装
  559. 22.2 它是如何运作的
  560. 自动添加类
  561. 22.3 使用CSS3过渡
  562. 22.4 使用CSS3动画
  563. 22.5 交错CSS过渡/动画
  564. 22.5.1 交错CSS过渡
  565. 22.5.2 交错CSS动画
  566. 22.5.3 什么指令支持交错动画
  567. 22.6 使用JavaScript动画
  568. 22.7 微调动画
  569. 对CSS类作过滤
  570. 22.8 DOM回调事件
  571. 22.9 内置指令的动画
  572. 22.9.1  ngRepeat 动画
  573. 1. CSS3过渡
  574. 2. CSS3关键帧动画
  575. 3. JavaScript动画
  576. 22.9.2  ngView 动画
  577. 1. CSS3过渡
  578. 2. CSS3关键帧动画
  579. 3. JavaScript动画
  580. 22.9.3  ngInclude 动画
  581. 1. CSS3过渡
  582. 2. CSS3动画
  583. 3. JavaScript动画
  584. 22.9.4  ngSwitch 动画
  585. 1. CSS3过渡
  586. 2. CSS3动画
  587. 3. JavaScript动画
  588. 22.9.5  ngIf 动画
  589. 1. CSS3过渡
  590. 2. CSS3动画
  591. 3. JavaScript动画
  592. 22.9.6  ngClass 动画
  593. 1. CSS3过渡
  594. 2. CSS3动画
  595. 3. JavaScript动画
  596. 22.9.7  ngShow / ngHide 动画
  597. 1. CSS3过渡
  598. 2. CSS3动画
  599. 3. JavaScript动画
  600. 22.10 创建自定义动画
  601. 22.10.1  addClass()
  602. 22.10.2  removeClass()
  603. 22.10.3  enter()
  604. 22.10.4  leave()
  605. 22.10.5  move()
  606. 22.10.6 cancel()
  607. 22.11 与第三方库集成
  608. 22.11.1 Animate.css
  609. 22.11.2 TweenMax/TweenLite
  610. 第 23 章 digest循环和 $apply
  611. 23.1  $watch 列表
  612. 23.2 脏值检查
  613. 23.3  $watch
  614. 23.4  $watchCollection
  615. 23.5 页面中的 $digest 循环
  616. 23.6  $evalAsync 列表
  617. 23.7  $apply
  618. 23.8 何时使用 $apply
  619. 第 24 章 揭秘Angular
  620. 24.1 视图的工作原理
  621. 24.1.1 编译阶段
  622. 24.1.2 运行时
  623. 第 25 章 AngularJS精华扩展
  624. 25.1 AngularUI
  625. 25.2 安装
  626. 25.3  ui-router
  627. 25.3.1 安装
  628. 1. template 、 templateUrl 、 templateProvider
  629. 2. controller
  630. 3. resolve
  631. 4. url
  632. 5. 嵌套路由
  633. 6. params
  634. 7. views
  635. 8. abstract
  636. 9. onEnter 、 onExit
  637. 10. data
  638. 25.3.2 事件
  639. 1. 状态改变事件
  640. 2. 视图加载事件
  641. 25.3.3  $stateParams
  642. 25.3.4  $urlRouterProvider
  643. 25.3.5 创建一个导航程序
  644. 25.4  ui-utils
  645. 25.4.1 安装
  646. 25.4.2  mask
  647. 25.4.3  ui-event
  648. 25.4.4  ui-format
  649. 第 26 章 移动应用
  650. 26.1 响应式Web应用
  651. 26.2 交互
  652. 26.2.1 安装
  653. 26.2.2  ngTouch
  654. 26.2.3  $swipe 服务
  655. 26.2.4  angular-gestures 和多点触控手势
  656. 26.2.5 安装 angular-gestures
  657. 26.2.6 使用 angular-gestures
  658. 26.3 Cordova中的原生应用程序
  659. 安装
  660. 26.4 Cordova入门
  661. 26.4.1 Cordova开发流程
  662. 26.4.2 平台
  663. 26.4.3 插件
  664. 26.4.4 构建
  665. 26.4.5 模拟和运行
  666. 26.4.6 开发阶段
  667. 26.4.7 Anguar中的Cordova服务
  668. 26.5 引入Angular
  669. 开发流程
  670. 26.6 使用Yeoman构建
  671. 26.6.1 修改Yeoman以便使用Cordova
  672. 26.6.2 装配Yeoman构建
  673. 26.6.3 构建移动部分
  674. 26.6.4 处理引导程序
  675. 第 27 章 本地化
  676. 27.1  angular-translate
  677. 27.2 安装
  678. 27.3 教你的应用一种新语言
  679. 27.4 多语言支持
  680. 27.5 运行时切换语言
  681. 27.6 加载语言
  682. 27.7  angular-gettext
  683. 27.8 安装
  684. 27.9 用法
  685. 27.10 字符串提取
  686. 27.11 翻译字符串
  687. 27.12 编译新语言
  688. 27.13 改变语言
  689. 第 28 章 缓存
  690. 28.1 什么是缓存
  691. 28.2 Angular中的缓存
  692. 28.2.1  $cacheFactory 简介
  693. 28.2.2 缓存对象
  694. 28.3  $http 中的缓存
  695. 28.3.1 默认的 $http 缓存
  696. 28.3.2 自定义缓存
  697. 28.4 为 $http 设置默认缓存
  698. 第 29 章 安全性
  699. 29.1 严格的上下文转义: $sce 服务
  700. 29.2 URL白名单
  701. 29.3 URL黑名单
  702. 29.4  $sce API
  703. 29.4.1  getTrusted
  704. 29.4.2  parse
  705. 29.4.3  trustAs
  706. 29.4.4  isEnabled
  707. 29.5 配置 $sce
  708. 29.6 可信赖的上下文类型
  709. 第 30 章 AngularJS和IE浏览器
  710. 30.1 Ajax缓存
  711. 30.2 AngularJS中的SEO
  712. 30.3 使Angular应用可被索引
  713. 30.4 服务端
  714. 30.4.1 hashbang语法
  715. 30.4.2 HTML5路由模式
  716. 30.5 服务端处理SEO的选项
  717. 30.5.1 使用Node/Express中间件
  718. 30.5.2 使用Apache重写URL
  719. 30.5.3 使用Ngnix代理URL
  720. 30.6 获取快照
  721. 30.7 使用Zombie.js获取HTML快照
  722. 30.8 使用 grunt-html-snapshot
  723. 30.9 Prerender.io
  724. 30.10  <noscript> 方法
  725. 第 31 章 构建Angular Chrome应用
  726. 31.1 了解Chrome应用
  727. 31.1.1 manifest.json
  728. 31.1.2 背景脚本
  729. 31.1.3 视图
  730. 31.2 构建你的Chrome应用
  731. Presently架构
  732. 31.3 搭建框架
  733. 31.4 manifest.json
  734. 31.5 tab.html
  735. 31.6 在Chrome中加载应用
  736. 31.7 主模块
  737. 31.8 构建主页
  738. 构建时钟
  739. 31.9 使用Wundergroud的天气API
  740. 构建Angular服务
  741. 31.10 设置界面
  742. 31.11 实现用户服务
  743. 31.12 城市自动填充/自动完成
  744. Autocomplete API
  745. 31.13 添加时区支持
  746. 第 32 章 优化Angular应用
  747. 32.1 优化什么
  748. 32.2 优化 $digest 循环
  749. 32.3 优化 ng-repeat
  750. 32.4 优化 $digest 调用
  751. 32.5 优化 $watch 函数
  752. 32.5.1 一次性绑定语法
  753. 32.5.2 bindonce
  754. 1. bo-if="condition"
  755. 2. bo-show="condition" / bo-hide="condition"
  756. 3. bo-text="text"
  757. 4. bo-href="url" / bo-href-i="url"
  758. 5. bo-src="url" / bo-src-i="url"
  759. 6. bo-alt="text"
  760. 7. bo-title="title"
  761. 8. bo-id="id"
  762. 9. bo-style="style"
  763. 10. bo-value="value"
  764. 11. bo-attr bo-attr-foo="hello"
  765. 32.5.3  $watch 函数的自动优化
  766. 32.6 优化过滤器
  767. 32.6.1 不变的数据
  768. 32.6.2 过滤后的数据
  769. 32.7 页面加载优化技巧
  770. 32.7.1 压缩
  771. 32.7.2 利用 $templateCache
  772. 第 33 章 调试AngularJS
  773. 33.1 从DOM中调试
  774. 33.1.1  scope()
  775. 33.1.2  controller()
  776. 33.1.3  injector()
  777. 33.1.4  inheritedData()
  778. 33.2 调试器
  779. 33.3 Angular Batarang
  780. 33.3.1 安装Batarang
  781. 33.3.2 检查模型
  782. 33.3.3 检查性能
  783. 33.3.4 检查依赖图表
  784. 33.3.5 可视化应用
  785. 第 34 章 下一步
  786. 34.1 jqLite和jQuery
  787. 34.2 了解基本工具
  788. 34.3 Grunt
  789. 安装
  790. 34.4  grunt-angular-templates
  791. 34.4.1 安装
  792. 34.4.2 用法
  793. 34.4.3 可用选项
  794. 1. bootstrap
  795. 2. concat
  796. 3. htmlmin
  797. 4. module
  798. 5. prefix
  799. 6. source
  800. 7. standalone
  801. 8. url
  802. 34.4.4 用法
  803. 1. concat
  804. 2. usemin
  805. 3. dest
  806. 34.5 Lineman
  807. 34.6 Bower
  808. 34.6.1 安装
  809. 34.6.2 Bower简介
  810. 34.6.3 配置Bower
  811. 34.6.4 搜索程序包
  812. 34.6.5 安装程序包
  813. 34.6.6 使用程序包
  814. 34.6.7 移除程序包
  815. 34.7 Yeoman
  816. 34.7.1 安装
  817. 34.7.2 用法
  818. 34.7.3 创建路由
  819. 34.7.4 创建控制器
  820. 34.7.5 创建自定义指令
  821. 34.7.6 创建自定义过滤器
  822. 34.7.7 创建视图
  823. 34.7.8 创建服务
  824. 34.7.9 创建装饰器
  825. 34.8 配置Angular生成器
  826. 34.8.1 CoffeeScript
  827. 34.8.2 安全压缩
  828. 34.8.3 跳过索引
  829. 34.9 测试应用
  830. 34.10 打包应用
  831. 34.11 打包模板
  832. 第 35 章 总结
  833. ngbook-2014年10月更新
  834. 目录变化
  835. 内容变化
  836. 引言
  837. 第二章 数据绑定和第一个AngularJS Web应用
  838. 第三章 模块
  839. 第四章 作用域
  840. 第五章 控制器
  841. 第六章 表达式
  842. 第七章 过滤器
  843. 第八章 指令简介
  844. 第九章 内置指令
  845. 第十章 指令详解
  846. 第十一章 AngularJS模块加载
  847. 第十四章 依赖注入
  848. 第十五章 同外界通信:XHR和服务器通信
  849. 第十六章 XHR实践
  850. 第十七章 Promise
  851. 第十八章 服务器通信
  852. 第十九章 测试
  853. 第二十二章 动画
  854. 第三十章 AngularJS和IE浏览器
  855. 第三十二章 优化Angular应用
载入中
载入中

热门划线

喜欢这本书的人也喜欢