angular.js笔记

document.ready 文档加载完毕,window.onload:整个页面加载完毕
jquery JS函数库 封装简化dom操作
angular JS结构化框架 主体不是dom 而是页面中动态的数据

做什么:
构建单页面应用(spa),web app应用
SPA ( sigle page application)
1: 将所有的活动局限于一个页面
2:当页面中有部分数据发生变化,不用全部刷新,而是局部刷新,
3:利用ajax技术,路由。

***	ng-app(指令) : 告诉angular核心它管理当前标签所包含的整个区域,并且会自动创建 \$rootScope根作用域对象

***	ng-model : 将当前输入框的值与谁关联(属性名:属性值), 并作为当前作用域对象($rootScope)的属性,双向数据绑定!!!

{{}} (表达式) : 显示数据,从作用域对象的指定属性名上取
		1、表达式:通常有一个返回值,可以放在任何需要值得地方,比如函数调用的参数,一个变量名,一个运算,
		2、语句:通常表示一个完整的执行单位,一段完整的js可执行的代码,有的语句也可以用表达式来执行,叫做表达式语句。
		3、区别:语句用封号结尾,有些语句我们没有加封号,比如console.log虽然我们没有加封号,但也是语句,因为js引擎会自动解析并且加上封号。js引擎在解析的时候会自动的加上封号
		4、特例:if语句,就不用加封号  可也是完整的语句。	

双向数据绑定
	1. 数据绑定: 数据从一个地方A转移(传递)到另一个地方B, 而且这个操作由框架来完成
	2. 双向数据绑定: 数据可以从View(视图层)流向Model(模型), 也可以从Model流向View
	  * 视图(View): 也就是我们的页面(主要是Andular指令和表达式)
	  * 模型(Model) : 作用域对象(当前为$rootScope), 它可以包含一些属性或方法
	  * 当改变View中的数据, Model对象的对应属性也会随之改变:  ng-model指令  数据从View==>Model
	  * 当Model域对象的属性发生改变时, 页面对应数据随之更新:  {{}}表达式  数据从Model==>View
	  * ng-model是双向数据绑定, 而{{}}是单向数据绑定
	  
***	ng-init  用来初始化当前作用域变量。是单向数据绑定 从V流到M

1. 作用域对象:  查看'1_作用域与控制器.html' 此处的版本是1.2 为低版本!!!
  * 一个js实例对象, ng-app指令默认会创建一个根作用域对象($rootScope)
  * 它的属性和方法与页面中的指令或表达式是关联的
2. 控制器对象:
  * 用来控制AngularJS应用数据的 实例对象
 *  ng-controller : 指定控制器构造函数, Angular会自动new此函数创建控制器对象
  * 同时Angular还有创建一个新的作用域对象$scope, 它是$rootScope的子对象
  * 在控制器函数中声明$scope形参, Angular会自动将$scope传入

依赖注入
	依赖对象:完成某个特定的功能需要某个对象才能实现,这个对象就是依赖对象。
	依赖注入:依赖的对象以形参的形式被注入进来使用,这种方式就是依赖注入。
	angular的 ‘$scope’对象就是依赖对象,并且是依赖注入的形式进行使用。
	!!!形参必须是特定的名称, 否则Angular无法注入抛异常
回调函数的event的就是依赖对象
回调函数有形参就是依赖注入

命令式:注重执行的过程
声明式:注重执行的结果

此后为1.5.* 高版本

1:创建模块对象
	var myModule = angular.module('myApp',[]);
	0:ng-app='myApp' 这里要和创建的模块名字相对应
	
2:生成作用域对象 (作用于可以生成多个,名字不能相同。返回对象是模块对象,所以可以在创建模块对象时使用链式操作) 查看'2_模块和控制器.html'
	myModule.controller('myController',function($scope){ //此处必须使用$scope,否则angular不认
		//这里面的内容同之前的作用域内容
			$scope.getname='baby';
		})
		//这种方式在压缩的时候会出错,js代码在压缩的时候会把参数用abcd等字母代替,此时angular不认。
	解决方法:
	myModule.controller('myController',[$scope,function($scope){//显示声明依赖注入
		//这里面的内容同之前的作用域内容
			$scope.getname='baby';
		}])
		
0:ng-controller='myController' 作用于的范围

1. 使用Angular表达式:
	   语法: {{expression}}
	   作用: 显示表达式的结果数据
	   注意: 表达式中引用的变量必须是当前域对象有的属性(包括其原型属性)
2. 操作的数据
	   基本类型数据: number/string/boolean
	   undefined, Infinity, NaN, null解析为空串: "", 不显示任何效果
	   对象的属性或方法
	   数组
	
常用指令 查看'2_常用指令1.html'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值