AngularJS入门笔记

Angular学习笔记

AngularJS

下载方式

使用nodejs下载,npm install angular

什么是AngularJS

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

AngularJs特性和优点

	- 双向数据绑定
	- 声明式依赖注入
	- 解耦应用逻辑,数据模型和视图
	- 完善的页面指令
	- 定制表单验证
	- Ajax封装

与Jquery的比较

  • Jquery:JS函数库 封装简化dom操作
  • angular:JS结构化框架 主题不再是DOM,而是页面中的动态数据

AngularJS能做什么项目

  • 构建单页面(SPA)Web应用或者web App应用

    单页面应用(SAP):Single page application

    特点:

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

    ​ 2、当页面中有部分数据发生了变化不会去刷新整个页面

    ​ 3、利用Ajax技术,路由。

    • 应用

ng-app指令

ng-app:告诉angular核心他管理当前标签所包含的整个区域,并且会自动创建$rootscope根作用域对象

双向数据绑定

数据可以根据view流向model,也可以从model流向view

ng-model是双向数据绑定,而{{}}是数据绑定

ng-init:初始化当前作用域变量

三个重要对象

1、作用域与控制器对象

  • 作用域对象

    一个JS实例对象,ng-app指令会默认创建一个根作用域对象$scope,他的属性和方法与页面中的指令或表达式是关联的

  • 控制器对象

    用来控制iAngularJs应用数据,实例对象

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

    同时Angular还有一个新的作用于对象 s c o p e , 它 是 scope,它是 scoperootscope的子对象

    在控制器函数中声明 s c o p e 形 参 , A n g u l a r 会 自 动 将 scope形参,Angular会自动将 scopeAngularscope传入

2、模块和控制器

依赖注入

依赖对象:完成某个特定的功能徐涛某个对象才能实现,这个对象就是依赖对象。

  • 依赖注入:依赖的某个对象以形参的形式被注入进来使用,这种方式就是声明式依赖注入。

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

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

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

开发的两种方式

  • 命令式

    更加注重的是执行过程

  • 声明式

    更加注重的执行的结果

    声明式是命令式的局部包装

    创建模块化对象

    var myModule = angular.module('myApp',{});
    

    生成作用域对象

    myModule.controller('MyController',function($scope){
        $scope.empName = 'kobe'
    })
    myModule.controller('MyController2',function($scope){
        $scope.empName = 'wade'
    })
    //优化  链式调用
    angular.model('myApp'[])
        .controller('MyController',function($scope){$scope.empName = 'kobe';//隐式声明依赖注入
        }).myModule.controller('MyController2',function($scope){
            $scope.empName = 'wade'
        })
    
    //以上的代码有问题:
    //JS代码压缩后形参会用abcd字母代替
    //代码压缩的$scope会被abcd代替,angular无法解析
    //解决方案
    angular.module('myApp',[])
    	.controller('MyController',['$scope',function($scope){//显示声明依赖注入
            $scope.empName = 'kobe';
        }])
    	.controller('MyController2',['$scope',function('$scope'){
            $scope.empName = 'wade';
        }])
    

angularJs表达式

  • 使用Angular表达式:

    语法:{{expression}}

    作用:显示表达式的结果数据

    注意:表达式中引用的变量必须是当前与对象有的属性(包含其原型属性)

  • 操作的数据

    基本类型数据:number/string/boolean

    undefind,Infinity,NaN,null,解析为空串:"",不显示任何效果

    对象的属性或方法

    数组

常用指令

  • Angular指令:Angular为HTML页面扩展的,自定义标签属性或标签

  • 与Angular的作用域对象(scope)交互,扩展页面的动态表现力

常用指令一

ng-app:指定模块名,angular管理的区域

ng-model:双向绑定,输入相关标签

ng-init:初始化数据

ng-click:调用作用域对象的方法(点击时)

ng-controller:指定控制器构造函数名,内部会自动创建一个新的子作用域(外部的)

ng-bind:解决使用{{}}显示数据闪屏(在很短时间内显示{{}})

ng-repeat:便利数组显示数据,数组有几个元素就会产生几个新的作用域

$index,$first,$last,$middle,$odd,$even
 <div>
    	<h2>人员信息列表</h2>    
    	<ul>
    		<li ng-repeat="person in persons">
    		{{$index}}--{{person.username}}
    		</li>
    	</ul>
    </div>
ng-show:不二类型,如果为true才显示

ng-hide:不二类型,如果为true就隐藏

常用指令二

ng-class:动态引用定义的样式{aClass:true,bClass:false}

ng-style:冬天引用通过js指定的样式对象{color:'red',background:'blue'}

ng-click:点击监听,值为函数调用,可以传$event

ng-mouseenter:鼠标移入监听,值为函数调用,可以传$event

ng-mouseleave:鼠标移出监听,值为函数调用,可以传$event
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值