AngularJS初步
AngularJS特点
- 遵循AMD规范
- 不需要操作节点
- 对于jquery,一般是利用现有完整的DOM,然后在这戏Dom的基础上进行二次调教了;而对于AngularJS等框架则是根据数据模型以及其对应用dom模板,而后通过模板类似于搭积木那样组合页面。
- 不适合频繁dom操作的应用。
{{}} Angular的表达式
借鉴mvc理念;仅仅只是借鉴,区别在于控制C,Angular弱化了控制器
- mvvm
- vm:viewModel,$scope 是一个对象
- 官方解释 mvw
- w:whatever,$scope 是什么都无所谓,都可以
- mvvm
<html ng-app>
最早是由backbone提出该理念,但封装不够彻底
ng-model 双向绑定,只有能在页面下可操作的标签才能双向保定 ##原理
$watch
- 监听列表
- 页面上所有绑定到页面上的{{}}、ng-model等都会加入监听列表,根据数据变化,来改变页面显示。
- <pre> scope.age=20; $scope.$watch('age',function(newValue,oldValue){ console.info(‘监听age’); });</pre>
$digest
- 循环监听列表,当发现监听值发生变化,调用相应回调函数,进行dom操作
- 需要在anguler上下文环境中才能启动
- 每次循环到有值的改变,会重新循环,所以为了保证效率,尽量不要让数据相互影响。相互影响超过10次angular会报错。
$apply
- 把环境改变为angular的上下文环境
- <pre> $scope.$apply(function(){ (angular上下文环境) }); </pre>
mvc
- model(模型) view(视图) controller(控制器)
- model相当于数据,view呈现model里的数据,controller是连接model和iew之间的传输
$scope
- 是一个对象
- 可以嵌套
- 顶层$rootScrope,就近原则查找属性,最终查到$rootScrope,没有不会报错
- function($scope){};依赖注入,被动获取
$index
获取选中节点序号
过滤器
过滤器(filter)正如其名,接受一个输入,通过某种规则处理后,返回处理后的结果。
- currency
- date
- filter
- json
- limitTo
- lowercase
- uppercase
- number
- orderBy
directive
测试指令,在css里面写一个.red;在html中调用ng-class="{red:true}";
- ng-class
- ng-style
- ng-show
- ng-hide ##事件## 给$scope对象添加一个属性,属性为一个函数,在html中ng-click="调用该函数"。 *ng-click
AJAX $http
$http.get("/users/router?username="+$scope.username").success(function(){});$http.post("/users/router",{name:xiaoming,pwd:123456}).success(function(){});
AngularJS初步的更多相关文章
- AngularJs初步学习笔记(part1)
一.摘要: angular是采用JavaScript编写的前端mvc框架,帮助开发者编写现代化的单页面应用.它尤其适用编写有大量CRUD操作的,具有Ajax风格的客户端应用. 二.总结: Angula ...
- 【原创教程】鲸吞HTML
首先,我们的angularJS课程分为三大模块: HTML/CSS/JS基础. angularJS详解. angualrJS的一些实用框架讲解. 其中,第一大模块的对象是对前端开发技术有点了解但不熟悉 ...
- AngularJS的初步学习(1)
AngularJS 是一个Javascript框架.它可通过 <script> 标签添加到 HTML 页面.AngularJS 通过 指令 扩展了 HTML,且通过 表达式绑定数据到 HT ...
- angularjs e2e测试初步学习(一)
e2e测试是从用户角度出发,认为整个系统都是一个黑盒,只有UI暴露出来. angularjs的测试框架是采用protractor. 1.创建文件 首先创建一个项目文件夹test,然后再创建两个文件,一 ...
- 剖析AngularJS作用域
一.概要 在AngularJS中,子作用域(child scope)基本上都要继承自父作用域(parent scope). 但,事无绝对,也有特例,那就是指令中scope设置项为对象时,即scope: ...
- AngularJS 脏检查深入分析
写在开头 关于Angular脏检查,之前没有仔细学习,只是旁听道说,Angular 会定时的进行周期性数据检查,将前台和后台数据进行比较,所以非常损耗性能. 这是大错而特错的.我甚至在新浪前端面试的时 ...
- 摆脱DOM操作,从TodoMVC看angularJS
取代jQuery? 我很久之前便听说了angularJS的大名,之前的leader也经常感叹angularJS的设计如何如何精妙,可叹一直没有机会深入了解,国庆长假因为没钱出游,倒是可以对他做一个了解 ...
- 提高前端开发效率必备AngularJS (基础)
简介 AngularJS 是一个为动态WEB应用设计的结构框架,提供给大家一种新的开发应用方式,这种方式可以让你扩展HTML的语法,以弥补在构建动态WEB应用时静态文本的不足,从而在web应用程序中使 ...
- 基于AngularJS的企业软件前端架构[转载]
这篇是我参加QCon北京2014的演讲内容: 提纲: 企业应用在软件行业中占有很大的比重,而这类软件多数现在也都采用B/S的模式开发,在这个日新月异的时代,它们的前端开发技术找到了什么改进点呢? B/ ...
随机推荐
- 强大的微软Microsoft Translator翻译接口
一.前言 当我们需要对日文.韩文等语言转换中文字符的时候,就用到了微软提供的翻译接口. 二.实现流程 1.首先注册一个账号 https://datamarket.azure.com/account 2 ...
- 如何发布Web项目到互联网
比如我们有个项目想要发布到互联网上,我们首先需要购买域名以及主机,主机的话,推荐云主机(本人推荐西部数码或者阿里云),性能好: 我们先在云主机上搭建环境,比如Mysql,Jdk,Tomcat: 然后我 ...
- spring 配置文件 数据库引入
一.mysql数据库引入 <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSourc ...
- poj3468 线段树+lazy标记
A Simple Problem with Integers Time Limit: 5000MS Memory Limit: 131072K Total Submissions: 92921 ...
- arm+linux 裸机环境搭建之初试minicom+dnw烧写uboot
下面的步骤将会实现在linux下面使用dnw+minicom来烧写uboot 一.安装minicom 下载地址:http://download.csdn.net/detail/king_bingge/ ...
- text-align:justify小例子
一个使用 text-align: justify; 使元素均匀分布的小例子: <!DOCTYPE html> <html lang="en"> <he ...
- PHP学习系列(1)——字符串处理函数(1)
从09年开始使用JAVA到现在差不多5年多了,然后由于即将要去的公司(研究僧终于要毕业了!)是使用PHP,Python作为后台开发语言的,所以要开始一段双P的学习旅程.用过PHP的都说这是很简单的一门 ...
- CentOS下安装JDK6u21和设置环境变量bin文件
1.先通过SSH登录到Linux系统中,通过SSH文件管理工具把Linux的JDK安装包上传到/home/acm/JavaTools/JDK目录: 2.进入/home/acm/JavaTools/JD ...
- 第8章 Android数据存储与IO——File存储
openFileOutput/openFileInput 这是android自带的两种解决方案.
- cf C. Vasya and Robot
http://codeforces.com/contest/355/problem/C 枚举L和R相交的位置. #include <cstdio> #include <cstring ...