angular学习笔记系列一
首先我们要明确一点,angular在web应用的角色,在传统的多页面web应用程序中,服务器根据输出数据和html模板渲染好页面所需的html输出到页面(所谓的服务器装配程序),随着单页面应用程序和ajax化的流行,页面应用程序开始利用ajax技术实现局部刷新的页面体验和快速响应的效果;但是这一切或是大多是的html渲染都是服务器来处理(当然也有各种js模板技术实现在客户端组装数据),每次发送的html片段会根据数据量的多少变化。 angular实现了服务器只需要将数据和html模板片段输出到客户端,让客户端进行装配数据,即减少了服务器cpu时间,又及大的降低了单次响应页面的大小。
再说关于mvc,传统的mvc被广泛的应用在c++/java/php/net等后端技术,由于前端技术不断的发展,js由单一的提交表单到大量应用于校验、与服务器通讯和各种提高体验等场景的应用而被不断的完善。它不在是浏览器上的一个小特性,而是一门流行的网站脚本语言(当然js也包括服务器开发场景nodejs,只不过我们熟知的场景多应用于网站开发),因此angular的应用中将前端代码引入了mvc(当然它不是第一个基于mvc的前端框架,例如ember也采用mvc,类似的基于事件监听、依赖注入和数据绑定的方式工作),angular中view层是html片段,Controller则是javascript类(在js中可以是function的体现也可以是angular中控制器的实现),model被存储在($scope)对象的属性中
引入三个新词汇
1、数据绑定:把UI中部分需要变更dom映射到js属性上,让他们根据更改自动同步到显示界面的过程
<html ng-app><!--如果需要angular解析应用,必须加入ng-app,不过根据angular需要操作的html片段可以选择写在其他标签内-->
<script src="js/angular.js"></script>
<script>
function databinding($scope) {
$scope.say = 'hello';
}
</script>
<body>
<div ng-controller="databinding">
<input type="text" ng-model="say">
<span>{{say}}, world</span>
</div>
</body>
</html>
2、依赖注入:给一个对象传入一个实例,并对该实例进行操作(http://www.cnblogs.com/xingyukun/archive/2007/10/20/931331.html)
3、指令:angular内置了很多非html规范中的属性,来实现数据绑定、视图和控制器的功能,以ng-开头
angular学习笔记系列一的更多相关文章
- MongoDB学习笔记系列
回到占占推荐博客索引 该来的总会来的,Ef,Redis,MVC甚至Sqlserver都有了自己的系列,MongoDB没有理由不去整理一下,这个系列都是平时在项目开发时总结出来的,希望可以为各位一些帮助 ...
- Dynamic CRM 2013学习笔记 系列汇总
这里列出所有 Dynamic CRM 2013学习笔记 系列文章,方便大家查阅.有任何建议.意见.需要,欢迎大家提交评论一起讨论. 本文原文地址: Dynamic CRM 2013学习笔记 系列汇总 ...
- SQLServer学习笔记系列3
一.写在前面的话 今天又是双休啦!生活依然再继续,当你停下来的时候,或许会突然显得不自在.有时候,看到一种东西,你会发现原来在这个社会上,优秀的人很多,默默 吃苦努力奋斗的人也多!星期五早上按时上班, ...
- SQLServer学习笔记系列2
一.写在前面的话 继上一次SQLServer学习笔记系列1http://www.cnblogs.com/liupeng61624/p/4354983.html以后,继续学习Sqlserver,一步一步 ...
- Dynamic CRM 2015学习笔记 系列汇总
这里列出所有 Dynamic CRM 2015学习笔记 系列文章,方便大家查阅.有任何建议.意见.需要,欢迎大家提交评论一起讨论. 本文原文地址:Dynamic CRM 2015学习笔记 系列汇总 一 ...
- 步步为营 SharePoint 开发学习笔记系列总结
转:http://www.cnblogs.com/springyangwc/archive/2011/08/03/2126763.html 概要 为时20多天的sharepoint开发学习笔记系列终于 ...
- WebService学习笔记系列(二)
soap(简单对象访问协议),它是在http基础之上传递xml格式数据的协议.soap协议分为两个版本,soap1.1和soap1.2. 在学习webservice时我们有一个必备工具叫做tcpmon ...
- .NET CORE学习笔记系列(2)——依赖注入[7]: .NET Core DI框架[服务注册]
原文https://www.cnblogs.com/artech/p/net-core-di-07.html 包含服务注册信息的IServiceCollection对象最终被用来创建作为DI容器的IS ...
- .NET CORE学习笔记系列(2)——依赖注入[6]: .NET Core DI框架[编程体验]
原文https://www.cnblogs.com/artech/p/net-core-di-06.html 毫不夸张地说,整个ASP.NET Core框架是建立在一个依赖注入框架之上的,它在应用启动 ...
随机推荐
- Mirror--镜像相关操作
其他相关操作1. 关闭镜像--关闭镜像USE [master]GOALTER DATABASE Demo1 SET PARTNER OFFGO 2. 证服务器--移除见证服务器USE [master ...
- mysql 表的增删改查 修改表结构
四.修改表结构 语法: . 修改表名 ALTER TABLE 表名 RENAME 新表名; . 增加字段 ALTER TABLE 表名 ADD 字段名 数据类型 [完整性约束条件…], ADD 字段名 ...
- python第三方模块之paramiko模块
目录: paramiko模块介绍 paramiko模块安装 paramiko模块使用 一.paramiko模块介绍 paramiko是一个用于做远程控制的模块,使用该模块可以对远程服务器进行命令或文件 ...
- sdut AOE网上的关键路径(spfa+前向星)
http://acm.sdut.edu.cn/sdutoj/showproblem.php?pid=2498&cid=1304 题目描述 一个无环的有向图称为无环图(Directed Acyc ...
- Cannot find entry file index.android.js in any of the roots:[ Android ]
Changed the version of react project to a lower one from here npm install -g rninit rninit init [Pro ...
- MySQL中特有的函数If函数
上面我们已经知道了case函数可以实现逻辑判断,可以是很复杂的逻辑判断,但是如果我们只想实现的是如果这个条件成立就返回A否则就返回B这样简单的逻辑如果用case的话,未免复杂了.我们可以使用if函数来 ...
- 39XML文档类
Xml源代码 domxml.h #ifndef DOMXML_H #define DOMXML_H #include <QString> #include <QStringList& ...
- 2017中国大学生程序设计竞赛-哈尔滨站 Solution
A - Palindrome 题意:给出一个字符串,找出其中有多少个子串满足one-half-palindromic 的定义 思路:其实就是找一个i, j 使得 以i为中轴的回文串长度和以j为中轴的 ...
- python 字典(dict)get方法应用
如果我们需要获取字典值的话,我们有两种方法,一个是通过dict['key'],另外一个就是dict.get()方法. 今天给大家分享的就是字典的get()方法. 这里我们可以用字典做一个小游戏,假设用 ...
- 【运维技术】VM虚拟机上使用centos7安装docker启动gogs服务教程【含B站视频教程】
VM虚拟机上使用centos7安装docker启动gogs服务视频教程 BiliBili视频教程链接飞机票,点我 使用VMware Workstation安装Centos7 MinMal系统 第一步: ...