1.MVVM的看法:我给view里面各种控件也定义一个对应的数据对象,这样,只要修改这个数据对象,view里面显示的内容就自动跟着刷新,而在view里做了任何操作,这个数据对象也跟着自动更新。

ViewModel:就是与界面(view)对应的Model。因为,数据库结构往往是不能直接跟界面控件一一对应上的,所以,需要再定义一个数据对象专门对应view上的控件。而ViewModel的职责就是把model对象封装成可以显示和接受输入的界面数据对象。

简单的说,ViewModel就是View与Model的连接器,View与Model通过ViewModel实现双向绑定。

2.动态,交互密集型。

核心功能

3.《angularjs权威教程》目录

第三章 模块 3.1参数[3.1.1name(字符串) 3.1.2require(字符串数组)]

第四章 作用域 4.1视图和$scope的世界 4.2就是html而已 4.3作用域能做什么

4.4$scope的生命周期[4.4.1 创建 4.4.2链接 4.4.3更新 4.4.4销毁] 4.5指令和作用域

第五章 控制器 5.1控制器嵌套(作用域包含作用域)

第六章 表达式 6.1解析angularjs表达式 6.2插值字符串

第七章 过滤器 7.1自定义过滤器 7.2表单验证

第八章 指令简介 8.1指令:自定义html元素和属性 8.2向指令中传递数据

第九章 内置指令 9.1基础ng属性指令[9.1.1布尔属性 9.1.2类布尔属性] 9.2在指令中使用子作用域

第十章 指令详解 10.1指令定义[10.1.1restrict(字符串) 10.1.2优先级(数值型) 10.1.3terminal(布尔型)

10.1.4template(字符串) 10.1.5templateUrl(字符串或函数)10.1.6replace(布尔型)]

10.2指令作用域[10.2.1scope参数(布尔型或对象) 10.2.2隔离作用域]

10.3绑定策略[10.3.1transclude 10.3.2controller(字符串或函数)10.3.3controllerAs(字符串)                   10.3.4require(字符串或数组)]

10.4angularjs的生命周期[10.4.1编译阶段 10.4.2compile(对象或函数) 10.4.3链接]

10.5ngModel[10.5.1自定义渲染 10.5.2属性]

10.6自定义验证

第十一章 Angularjs模块加载 11.1配置 11.2运行块

第十二章 多重视图和路由 12.1安装 12.2布局模块 12.3路由 12.4$location服务

12.5路由模式[12.5.1html5模式 12.5.2路由事件 12.5.3关于搜索引擎索引]

12.6更多关于路由的内容[12.6.1页面重新加载 12.6.2异步的地址变化]

第十三章 依赖注入 13.1推断式注入声明 13.2显示注入声明 13.3行内注入声明

13.4$injector API [13.4.1annotate()13.4.2get()13.4.3has()13.4.4instantiate                              13.4.5invoke()]

13.5ngMin [13.5.1安装 13.5.2使用ngMin 13.5.3工作原理]

第十四章 服务 14.1注册一个服务 14.2使用服务 14.3 创建服务时的设置项[14.3.1factory()14.3.2service()

14.3.3provider()14.3.4constant()14.3.5value() 14.3.6何时使用value()和constant()

14.3.7decorator()]

第十五章 同外界通信:XHR和服务器通信 15.1使用$http 15.2设置对象 15.3响应对象 15.4缓存http请求

15.5拦截器 15.6设置$httpProvider 15.7使用$resource 15.8安装

15.9应用$resource[15.9.1 基于http get方法 15.9.2基于非http get类型的方法

15.9.3$resource实例 15.9.4$resource实例是异步的 15.9.5附加属性]

15.10 自定义$resource方法  15.11$resource设置对象 15.12$resource服务

15.13使用Restangular 15.14Restangular简介 15.15安装Restangular 15.16Restangular对象简介

15.17使用Restangular[15.17.1我的http方法怎么1办 15.17.2自定义查询参数和头]

15.18设置Restangular

第十六章 XHR实践 16.1跨域和同源策略 16.2JSONP

16.3使用cors[16.3.1设置 16.3.2服务端cors支持 16.3.3简单请求 16.3.4非简单请求]

16.4 服务器端代理 16.5 使用json 16.6使用xml

16.7使用angularjs进行身份验证(16.7.1服务器端需求 16.7.2客户端身份验证)

16.8和MongoDB通信

第十七章 promise 17.1什么是promise 17.2为什么使用promise 17.3angular中的promise

17.4链式请求[17.4.1all(promise)17.4.2defer()17.4.3reject(reason)17.4.4when(value)]

第十八章 服务器通信 18.1自定义服务器 18.2安装Nodejs 18.3安装Express 18.4调用Api

18.5使用AmazonAWS的无服务器应用[18.5.1DynamoDB 18.5.2简单通知服务(SNS)

18.5.3简单队列服务(SQS,Simple Queue Service)18.5.4简单存储服务(S3)18.5.5安全令牌服务(STS)]

18.6AWSJS + Angular 18.7开始 18.8介绍  18.9安装 18.10运行 18.11用户认证/鉴权  18.12UserService

18.13迁移到AWS上 18.14AWSService 18.15 在Dynamo上开始 18.16$cacheFactory  18.17保存currentUser

18.18上传到S3 18.19处理文件上传 18.20查询Dynamo 18.21在Html显示列表 18.22出售我们的作品

18.23 使用Stripe 18.24使用Firebase的无服务应用 18.24使用Firebase和Angular的三方数据绑定

18.26从AngularFire开始 [18.26.1注册并创建一个Firebase 18.26.2包含Firebase和AngularFire库

18.26.3把Firebase作为依赖项添加 18.26.4绑定模型到FirebaseURL 18.26.5数据同步]

18.27在AngularFire中排序 18.28Firebase事件 18.29显示同步 18.30用AngularFire进行认证

18.31认证事件{18.31.1$logout() 18.31.2$cresteUser() }

18.32使用Firebase托管部署你的Angular应用{18.32.1安装Firebase工具 18.32.2部署你的web站点}

18.33 除了AngularFire之外

第十九章 测试 19.1为什么要做测试 19.2测试策略 19.3开始测试 19.4AngularJs测试的类型{19.4.1单元测试 19.4.2端到端测试}

19.5开始 19.6初始化Karma配置文件 19.7配置选项 19.8使用RequireJS

19.9Jasmine {19.9.1 细则套件 19.9.2定义一个细则} 19.10预期{19.10.1内置的匹配器 19.10.2安装和卸载}

19.11端到端的介绍{19.11.1选项输入 19.11.2重复循环元素} 19.12模拟和测试帮助函数

19.13模拟$httpBackend 19.14测试一个应用{19.14.1测试路由 19.14.2测试页面内容 19.14.3测试控制器

19.14.4测试服务和工厂 19.14.5测试过滤器 19.14.6测试模板 19.14.7测试指令}

19.15测试事件 19.16对Angular的持续集成 19.17Protractor 19.18配置 19.19配置选项 19.20编写测试

19.21测试实践{19.21.1我们的应用 19.21.2测试的策略}19.22建立我们的第一个测试

19.23测试输入框{19.23.1测试列表 19.23.2测试路由} 19.24页面对象

第二十章 事件 20.1什么是事件 20.2事件传播{20.2.1使用$emit来冒泡事件 20.2.2使用$broadcast向下传递事件}

20.3事件监听 20.4事件对象 20.5事件相关的核心服务{20.5.1核心系统的$emitted事件

20.5.2核心系统的$broadcast事件 }

第二十一章 架构 21.1目录架构 21.2模块 21.3控制器 21.4指令 21.5测试

第二十二章 Angular动画 22.1安装 22.2它是如何运作的 22.3使用CSS3过渡 22.4使用CSS3动画

22.5交错CSS过渡/动画{22.5.1交错CSS过渡 22.5.2交错CSS动画 22.5.3什么指令支持交错动画}

22.6使用JavaScript动画 22.7微调动画 22.8DOM回调事件 22.9内置指令的动画{22.9.1ngRepeat 动画

22.9.2ngView动画 22.9.3ngInclude动画 22.9.4 ngSwitch动画 22.9.5ngIf动画 22.9.6ngClass动画

22.9.7 ngShow/ngHide动画} 22.10创建自定义动画{22.10.1 addClass()22.10.2removeClass()

22.10.3enter()22.10.4leave() 22.10.5 move()} 22.11与第三方库集成{22.11.1Animate.css

22.11.2TweenMax/TweenLite}

第二十三章 digest循环he$apply 23.1$watch列表 23.2脏值检查 23.3$watch 23.4$watchColletion 23.5页面中的$digest循环

23.6$evalAsync列表 23.7$apply 23.8何时使用$apply

第二十五章 AngularJS精华扩展 25.1AngularUI 25.2安装 25.3ui-router{25.3.1安装 25.3.2事件 25.3.2$stateParams

25.3.4$urlRouterProvider 25.3.5创建一个导航程序} 25.4ui-utils{25.4.1安装 25.4.2mask 25.4.3ui-event

25.4.4ui-format

第二十六章 移动应用 26.1响应式Web应用 26.2交互{26.2.1安装 26.2.2ngTouch 26.2.3$swipe服务

26.2.4angular-gestures和多点触控手势 26.2.5安装angular-gestures 26.2.6使用angular-gesture}

26.3Cordova中的原生应用程序 26.4Cordova入门{26.4.1Cordova开发流程 26.4.2平台 26.4.3插件 26.4.4构建

26.4.5模拟和运行 26.4.6开发阶段 26.4.7Angular中的Cordova} 26.5引入Angular

26.6使用Yeoman构建{26.6.1修改Yeoman以便使用Cordova 26.6.2装配Yeoman构建 26.6.3构建移动部分

26.6.4处理引导程序}

第二十七章 本地化 27.1angular-translate 27.2安装 27.3教你的应用一种新语言 27.4多语言支持 27.5运行时切换语言

27.6加载语言 27.7angular-gettext 27.8安装 27.9 用法 27.10字符串提取 27.11翻译字符串

27.12编译新语言 27.13改变语言

第二十八章 缓存 28.1什么是缓存 28.2Angular中的缓存{28.2.1$cacheFactory 28.2.2缓存对象} 28.3$http中的缓存{

28.3.1默认的$http缓存 28.3.2自定义缓存} 28.4为$http设置默认缓存

第二十九章 安全性 29.1严格的上下文转义 29.2URL白名单 29.3URL黑名单 29.4$sceAPI{29.4.1getTrusted 29.4.2parse

29.4.3trustAs 29.4.4isEnabled} 29.5 配置$sce 29.6可信赖的上下文类型

第三十章 AngularJS和IE浏览器 30.1Ajax缓存 30.2angularJS中的SEO 30.3使Angular应用可被索引 30.4服务端{

30.4.1hashbang 30.4.2html5路由模式} 30.5服务端处理SEO的选项{30.5.1使用Node/Express中间件

30.5.2使用Apache重写URL 30.5.3使用Ngnix代理URL} 30.6获取快照 30.7使用Zombie.js获取Html快照

30.8使用grunt-html-snapshot 30.9Prerender.io  30.10<noscript>方法

第三十一章 构建Angular Chrome应用 31.1了解Chrome应用{31.1.1manifest.json 31.1.2 背景脚本 31.1.3视图}

31.2构建你的Chrome应用 31.3搭建框架 31.4manifest.json 31.5tab.html 31.6在Chrome中加载应用

31.7主模块 31.8构建主要 31.9使用Wunderground的天气API 31.10设置界面 31.11实现用户服务

31.12城市自动填充/自动完成 31.13添加区时支持

第三十二章 优化Angular应用 32.1优化什么 32.2优化$digest循环 32.3优化ng-repeat 32.4优化$digest调用

32.5优化$watch函数{32.5.1bindonce 32.5.2$watch函数的自动化} 32.6优化过滤器{32.6.1不变的数据

32.6.2过滤后的数据} 32.7页面加载优化技巧{32.7.1压缩 32.7.2利用$templateCache}

第三十三章 调试Angularjs 33.1从DOM中调试{33.1.1scope()33.1.2controller()33.1.3injector()                                            33.1.4inhertedDate()} 33.2调试器 33.3Angular Batarang {33.3.1安装Batarang 33.3.2检查模型

33.3.3检查性能 33.3.2检查依赖图表 33.3.5可视化应用}

第三十四章 下一步 34.1jqLite和jQuery 34.2了解基本工具 34.3Grunt 34.4grunt-angular-templates{34.4.1安装

34.4.2用法 34.4.3可用选项 34.4.4用法} 34.5Lineman 34.6Bower{34.6.1安装 34.6.2Bower简介 ...}

34.7Yeoman 34.8配置Angular生成器{34.8.1CoffeeScript 34.8.2安全压缩  34.8.3跳过索引}

34.9测试应用 34.10打包应用 34.11打包模板

angularjs杂谈的更多相关文章

  1. 通过AngularJS实现前端与后台的数据对接(二)——服务(service,$http)篇

    什么是服务? 服务提供了一种能在应用的整个生命周期内保持数据的方法,它能够在控制器之间进行通信,并且能保证数据的一致性. 服务是一个单例对象,在每个应用中只会被实例化一次(被$injector实例化) ...

  2. AngularJs之九(ending......)

    今天继续angularJs,但也是最后一篇关于它的了,基础部分差不多也就这些,后续有机会再写它的提升部分. 今天要写的也是一个基础的选择列表: 一:使用ng-options,数组进行循环. <d ...

  3. AngularJS过滤器filter-保留小数,小数点-$filter

    AngularJS      保留小数 默认是保留3位 固定的套路是 {{deom | number:4}} 意思就是保留小数点 的后四位 在渲染页面的时候 加入这儿个代码 用来精确浮点数,指定小数点 ...

  4. Angular企业级开发(1)-AngularJS简介

    AngularJS介绍 AngularJS是一个功能完善的JavaScript前端框架,同时是基于MVC(Model-View-Controller理念的框架,使用它能够高效的开发桌面web app和 ...

  5. 模拟AngularJS之依赖注入

    一.概述 AngularJS有一经典之处就是依赖注入,对于什么是依赖注入,熟悉spring的同学应该都非常了解了,但,对于前端而言,还是比较新颖的. 依赖注入,简而言之,就是解除硬编码,达到解偶的目的 ...

  6. 步入angularjs directive(指令)--点击按钮加入loading状态

    今天我终于鼓起勇气写自己的博客了,激动与害怕并存,希望大家能多多批评指导,如果能够帮助大家,也希望大家点个赞!! 用angularjs 工作也有段时间了,总体感觉最有挑战性的还是指令,因为没有指令的a ...

  7. 玩转spring boot——结合AngularJs和JDBC

    参考官方例子:http://spring.io/guides/gs/relational-data-access/ 一.项目准备 在建立mysql数据库后新建表“t_order” ; -- ----- ...

  8. 玩转spring boot——结合jQuery和AngularJs

    在上篇的基础上 准备工作: 修改pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=&q ...

  9. 通过AngularJS实现前端与后台的数据对接(一)——预备工作篇

    最近,笔者在做一个项目:使用AngularJS,从而实现前端与后台的数据对接.笔者这是第一次做前端与后台的数据对接的工作,因此遇到了许多问题.笔者在这些问题中,总结了一些如何实现前端与后台的数据对接的 ...

随机推荐

  1. jeecg入门操作—字典配置

    一.字典入口 系统 管理->数据字典 二.录入字典 填写字典相关信息 三 .添加字典内容 填写字典某条记录内容 再录入几条 录入之后的字典内容 四.使用字典 1.编辑用户表单,添加用户等级字段 ...

  2. 02 Django REST Framework 序列化

    01-创建序列化类 # 方式一: publish_list = models.Publish.objects.all() # 导入序列化组件 from django.core import seria ...

  3. Colorful Bricks CodeForces - 1081C ( 组合数学 或 DP )

    On his free time, Chouti likes doing some housework. He has got one new task, paint some bricks in t ...

  4. C#、WPF中如何自定义鼠标样式

    需求:在C#中如何自定义鼠标样式?在这里可以分两种情况,一种是在winForm,另一种是在WPF中(注意使用的Cursor对象不一样) 解决办法如下: a.首先针对WinForm中,我们可以采用图标加 ...

  5. 2016湖南省赛 [Cloned]

    A.2016 给出正整数 n 和 m,统计满足以下条件的正整数对 (a,b) 的数量: 1. 1≤a≤n,1≤b≤m; 2. a×b 是 2016 的倍数. Input   输入包含不超过 30 组数 ...

  6. golang面向对象和interface接口

    一. golang面向对象介绍 1.golang也支持面向对象编程,但是和传统的面向对象编程有区别,并不是纯粹的面向对象语言.2.golang没有类(class),golang语言的结合体(struc ...

  7. git总结三、关于分支下——团队合作中最重要的合并分支

    合并分支是团队合作开发中常见的操作,这里涉及到两个命令:git merge 和 git rebase 下面来好好说一下git merge和git rebase都是怎样工作的 一. 1.新建一个空目录并 ...

  8. 2019-04-05 Spring Boot学习记录

    1. 使用步骤 ① 在pom.xml 增加父级依赖(spring-boot-starter-parent) ② 增加项目起步依赖,如spring-boot-starter-web ③ 配置JDK版本插 ...

  9. [CQOI2009] 中位数

    不错的思维题 传送门:$>here<$ 题意:给出一个N的排列,求出其中有多少个连续子段的中位数是b 数据范围:$N \leq 100000$ $Solution$ 先考虑中位数的意义:一 ...

  10. emwin之创建窗口与窗口回调函数的句柄是一致的

    @2019-04-28 [小记] 由函数GUI_CreateDialogBox 创建的窗口所返回的句柄与回调函数形参中的窗口句柄参数是一样的