主题:

本篇主要介绍下angular里的一些概念,并且在咱们的小应用上加上点料。。

概念(大概了解即可,代码中遇到的会有详细注释):

模板:动态模板,是动态的,直接去处理DOM的,而不是通过处理字符串模版(静态模板)

mvc:核心思想实现“数据管理-数据模型Model、应用逻辑-控制器Controller、数据表现-视图View”三者的之间的分离。view从model获取数据把数据展示到界面上,当有用户操作处理交互时,控制器controller去改变数据model,然后通知view去做相应的改变;各司其职。

双向绑定:意味着当model变化的时候,view也去改变,view改变的时候,model也会相应的发生变化,也就是MVVM的概念,VM就是view和model的枢纽所在。

scope:是一个view和控制器之间的纽带,也就是作为数据模型model的,scope负责去监听model的变化,同时scope是和html结构一样具备层次结构的,每个angular app都会有且只有一个rootScope,他可以有childScope,每个childScope会有parentScope和childScope,也就意味着是可以继承的,继承方式也是原型继承,每一个childScope继承自他的parentScope。

controller:view后的代码,在angular中,规范的是在controller中不出现任何的DOM操作,controller仅仅是去更改(创建)scope上的数据就ok了,所以在ag中跑单元测试时很容易的。

model:数据模型,与模板结合产生视图,在angular中,他是scope的一个属性,值可以是任何的JS的对象(数字 字符串 数组...)

view:就是咱们的HTML呈现,angular会便利DOM树,然后经过compile,在和scope数据结合,完整的呈献给用户。

directive:指令,可以说是angular中相当占分量的概念,可以理解为去扩展HTML元素,使其具备一定的特性或者功能,类似于组件化HTML的意思,如果说DOM操作的话,就是在这里完成的;有人说这是未来的方向还是很有道理的,未来通道polymer O(∩_∩)O

依赖注入:其他好多语言也有这个概念,这样我们就不用创建依赖关系了,angular会自动帮我们注入到调用函数的参数中。

module:模块,可以理解为某类功能特性的集合,是一个应用块,模块是可以被依赖注入的,也是配置依赖的地方。

表达式:一个普通的JS代码片段,我们可以通过$parse服务对表达式求值,除了if else switch throw while for啊这些,基本上其他的JS代码片段都可以被parse求值,此外还增加了过滤器filter的管道|语法,例如3*10|currency,详见官网。

当然,还有一些概念这里是没涉及到的,例如service啊等等,等后边用到的时候,再去看也ok。

效果图:

细节:

说一下咱们的目的,密码长度限制,最长不超过10位,咱这里只是简单的demo,所以定10位;但用户输入的密码长度超过10的时候,提示用户,同时下边的预览区域,显示的输入密码只会显示10个,超出部分不显示。

之后会模拟注册(这里也意味着登录成功),然后跳转到主页,也就是咱们的主题内容部分。

详见代码注释即可。。

结束语:

开始旅程。。

本篇源码:https://github.com/dolymood/angular-example/tree/ls_2

欢迎吐槽

angular入门系列教程2的更多相关文章

  1. angular入门系列教程目录

    本系列教程的目标很明确,就是入门,会一步一步的从零到最终的能写出一个基本完整的应用.这个过程中不去纠结一些概念或者是如何实现等等深入的东西,只是停留在应用层. ps:如果条件允许的话,后续会有深入一点 ...

  2. angular入门系列教程4

    主题: 本篇主要目的就是继续完善home页下的index子页面的内容,处理一个列表,进行增删改查过滤等操作. 效果图: 细节: 主要的更改有两个,一个是修改模板index.html,还有就是增加控制器 ...

  3. angular入门系列教程3

    主题: 本篇主要目的就是继续完善home页,增加tab导航的三个页index index1 index2 效果图: 细节: 初始化的JS就是咱们的home.js,仔细来看. angular的route ...

  4. angular入门系列教程1

    主题: 一个能够跑起来的页面,神奇的效果,无需一样JS代码! 效果图: 细节: 当然,这里甚至连登陆都没做,只是看到神奇的当输入用户名或者密码的时候,下面的预览区域也会有相应的更改.没有一行的JS代码 ...

  5. Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求

    上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...

  6. Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数

    上一篇:Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数 之前介绍了简单的路由以及传参,这篇文章我们将要学习复杂一些的路由以及传递其他附加参数.一个好的路由系统可以使我们 ...

  7. Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数

    上一篇:Angular2入门系列教程-服务 上一篇文章我们将Angular2的数据服务分离出来,学习了Angular2的依赖注入,这篇文章我们将要学习Angualr2的路由 为了编写样式方便,我们这篇 ...

  8. Angular2入门系列教程4-服务

    上一篇文章 Angular2入门系列教程-多个组件,主从关系 在编程中,我们通常会将数据提供单独分离出来,以免在编写程序的过程中反复复制粘贴数据请求的代码 Angular2中提供了依赖注入的概念,使得 ...

  9. ASP.NET MVC 入门系列教程

    ASP.NET MVC 入门系列教程 博客园ASP.NET MVC 技术专题 http://kb.cnblogs.com/zt/mvc/ 一个居于ASP.NET MVC Beta的系列入门文章,有朋友 ...

随机推荐

  1. JQuery之append和appendTo的区别,还有js中的appendChild用法

    JQuery之append和appendTo的区别 append()前面是要选择的对象,后面是要在对象内插入的元素内容 appendTo()前面是要插入的元素内容且为Jquery对象,而后面是要选择的 ...

  2. sql语句添加约束

    sql语句添加约束 --主键约束(Primary Key constraint):要求主键列的数据唯一,并且不允许为空. --唯一约束(Unique Constraint):要求该列唯一,允许为空,但 ...

  3. 开放-封闭原则(OCP)

    对于僵化性的臭味,应用OCP原则之后,再进行同样的改动时,只需添加新代码,而不必改动已正常运行的代码. 扩展模块行为的方式通常是修改模块的Code,不允许修改的模块常常被认为是具有固定的行为. Ope ...

  4. gcc和arm-linux-gcc 头文件寻找路径【转】

    原文地址:http://blog.chinaunix.net/uid-29145190-id-3867605.html 在LINUX程序设计当中,经常会遇到头文件包含的问题,那么这些头文件到底在哪个路 ...

  5. js中的继承1--类继承

    继承:function Animal(name){ this.name = name; this.showName = function(){ alert(this.name); } } functi ...

  6. Java中注解Annotation的定义、使用、解析

    此例子,用于说明如何在Java中对“注解 Annotation”的定义.使用和解析的操作.注解一般用于自定义开发框架中,至于为什么使用,此处不作过多说明,这里只说明如何使用,以作备记.下面例子已测试, ...

  7. DataGrid1

    2013-09-2512:26:31 1.DataGrid页面 <asp:DataGrid ID="msgInfo1" PageSize="8" Auto ...

  8. c语言 char*类型作为中间变量将许多字符串保存到一个数组的问题

    char*是一个字符串指针,如下面的程序value_作为一个中间变量用来在for循环中scanf输入的值的接收者,然后将value_保存到array中,但是一下程序会出现一个问题就是当你跳出这个函数时 ...

  9. 常用HTML meta 标签属性(网站兼容与优化需要),meta标签

    常用HTML meta 标签属性(网站兼容与优化需要),meta标签 标签提供关于HTML文档的元数据.元数据不会显示在页面上,但是对于机器是可读的.它可用于浏览器(如何显示内容或重新加载页面),搜索 ...

  10. 图解 CSS: 理解样式表的逻辑(转载)

    原文:http://www.cnblogs.com/del/archive/2009/02/01/1382141.html 样式表可以是外部的.内联的或嵌入的; 链接外部样式文件一般是:<lin ...