AngularJ

Posted 正在努力的澎澎

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AngularJ相关的知识,希望对你有一定的参考价值。

Angular.js

Google开源的前端js结构化框架

  • AngularJS特点和优点

双向数据绑定

声明式依赖注入

解耦应用逻辑,数据模型和视图

完善的页面指令

定制表单验证

Ajax封装

  • 与jQuery的比较:

jQuery:

JS函数库

封装简化DOM操作

AngularJS:

JS结构化框架

主体不再是dom,而是页面中的动态数据

AngularJS能做什么项目:

构建单页面(SPS)Web应用或者WebApp应用

单页面应用(SPA):single page application

特点:

1、将所有的活动局限于一个页面

2、当页面中有部分数据发生变化不去刷新整个页面,而是局部刷新

3、利用的就是Ajax技术,路由。

用jQuery实现
<input type="text">
<p>您输入的内容是:<span></span></p>
<javascript type="text/javascript">
$(function (){//文档(结构)加载完毕 相当于document.ready        window.onload:整个页面加载完毕,包括图片
	$(\'input\').keyup(function (){
		var value = $(this).val();
		$(\'span\').html(value);
	});
});

用AngularJS实现
<html>
<body ng-app>
<input type="text" ng-model="username">
<p>您输入的内容是:<span>{{username}}</span></p>
</body>
</html>
ng-app(指令):告诉angular核心它管理当前标签所包含的整个区域,并且会自动创建 $rootScope 根作用域对象,  告诉页面我来管理这个区域
通常放在body这个标签内
ng-model:将当前输入框的值与谁关联(属性名:属性值),并作为当前作用域对象($rootScope)的属性
{{}}(表达式):显示数据,从作用域对象指定属性名上去取
小技巧:当输入{{}}时,按着shift键,连按两下{{,会自动补全

数据绑定:数据从一个地方A转移到地方B,而且这个操作由框架完成

双向数据绑定:数据可以从view(视图层)流向model(模型),也可以由model流向view

视图(View):也就是我们的页面(主要是angular指令和表达式)

模型(Model):作用域对象(单前为$rootScope),它可以包含一些属性和方法

当改变View中的数据,Model对象对应属性也会随之改变:ng-model:数据从view=>mdoel

当model域对象属性发生改变时,页面对应数据也会随之更新:{{}}表达式, 数据从model=>view

ng-init 用来初始化当前作用域变量 作用就是为当前的作用域对象初始化数据

三个重要对象

1、作用域对象

一个js实例对象,ng-app指令默认会创建一个根作用域对象($rootScope)

它的属性和方法与页面中的指令或表达式是关联的

2、控制器对象

用来控制AngularJS应用数据的实例对象

ng-controller:指定控制器构造函数,angular会自动new此函数创建控制器对象

同时angular还会创建一个新的作用域对象$scope,它是$rootScope的子对象

在控制器函数中声明$scope形参,Angular会自动将$scope传入

3、依赖注入

依赖对象:完成某个特定功能需要某个对象才能实现,这个对象就是依赖对象

依赖注入:依赖的对象以形参的形式被注入进来使用,这种方式就是依赖注入

angular的$scope对象就是依赖对象,并且是依赖注入的形式进行使用

注意:形参必须说特定的名称,否则angular无法注入会抛出异常

回调函数的event就是依赖对象

回调函数有形参就是依赖注入

命令式:更加注重的是执行的过程

声明式:更加注重的是执行的结果,声明式是对命令的局部包装

两个页面语法

1、表达式

2、指令

以上是关于AngularJ的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段——CSS选择器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段6——CSS选择器

VSCode自定义代码片段——声明函数