angularjs实用基础知识---入门必备

夕照希望      2022-02-12     334

关键词:

前言

今天来和大家学习一下AngularJS……

  AngularJS 通过新的属性和表达式扩展了 HTML。

  AngularJS 可以构建一个单一页面应用程序。

  AngularJS 学习起来非常简单。

 

 

一、AngularJS指令与表达式

【AngularJS常用指令】
1、ng-app:声明Angular所管辖的区域,一般写在body或HTML上,原则上一个页面只有一个。
2、ng-model:把元素值(比如输入域的值)绑定到应用程序的变量中。
eg:

<input type="text" ng-model="name"/>

3、ng-bind:把应用程序变量中的数据绑定到HTML视图中,可用表达式替代。
eg:

<div id="div1" ng-bind="name"></div>

等效于

<div id="div1" >{{name}}</div>

4、ng-init:初始化 AngularJS应用程序变量。
eg:

<body data-ng-app="" ng-init="name=123">

5、表达式:{{}}绑定表达式,可以包含文字,运算符和变量。
但是表达式在网页加载瞬间会看到{{}},所以可以用ng-bind=""替代。
eg:

{{ 5 + "" + 5 + ',Angular' }}

 

【基本概念】
指令:AngularJS中,通过扩展HTML的属性提供功能。
所以,ng-开头的新属性,被我们成为指令。

 

二、AngularJS中的MVC中的作用域

【MVC三层架构】
1、model(模型):
应用程序中用于处理数据的部分。(保存或修改数据到数据库、变量等)。AngularJS中的Model特指的是:数据。
View(视图):用户看到的用于显示数据的页面。
Controller(控制器):应用程序中处理用户交互的部分。负责从视图读取数据,控制用户输入,并向模型发送数据。

2、工作原理:
用户从视图层发出请求,controller接收到请求后转发给对应的model处理,model处理完成后返回结果给controller,并在View层反馈给用户.

3、创建一个Angular模块,即ng-app所绑定的部分 ,需传递两个参数:
①模块名称:即ng-app所需要绑定的名称,ng-app="myApp"
②数组:需要注入的模块名称,不需要可为空。
eg:var app= angular.module("myApp",[]);

在Angular模块上,创建一个控制器Controller,需要传递两个参数。
①Controller名称,即ng-controller需要绑定的名称。ng-controller="myCtrl"
②Controllerd的构造函数:构造函数可以传入多个参数,包括$scope/$rootScope以及各种系统内置对象;

【AngularJS中的作用域】
①$scope:局部作用域,声明在$scope上的属性和方法,只能在当前的Controller中使用
②$rootScope:根作用域,声明在$rootScope上的属性和方法,
可以在ng-app所包含的任何区域使用(无论是否同Controller,或是否在Controller包含范围中)

>>>若没有使用$scope声明变量,而直接在HTML中使用ng-model绑定的变量作用域为:
1、如果ng-model在某个ng-controller中,则此变量会默认绑定到当前Controller的$scope上;
2、如果ng-model没有在任何一个ng-controller中,此变量会绑定到$rootScope上。

 

三、AngularJS过滤器

AngularJS中,过滤器可以使用一个管道字符(|)添加到表达式和指令中。

>>>系统内置过滤器:
currency:格式化数字为货币格式。
filter:从数组项中选择一个子集。
lowercase:格式化字符串为小写。
orderBy:根据某个表达式排列数组。
uppercase:格式化字符串为大写。

eg:
<p>{{"aBcDeF"|uppercase}}</p>
<p>{{"aBcDeF"|lowercase}}</p>
<p>{{123456|currency}}</p>

 

【自定义过滤器】

1 .filter('reverse',function(){ //可以注入依赖
2 return function(text){
3 if(!angular.isString(text)){
4 return "您输入的不是字符串!"
5 }else{
6 return text.split("").reverse().join("");
7 }
8 }
9 })

 

 

四、AngularJS中的 http && select && DOM操作

一、AngularJS中的http
$http 是 AngularJS 中的一个核心服务,用于读取远程服务器的数据。

二、AngularJS中的select
①使用数组作为数据源,其中,x表示数组的每一项。
默认会将x直接绑定到option的value中,而option显示的内容,由前面的x for...决定。
eg:
<section ng-model= "name" ng-options="x.site for x in sites"></section>

②使用对象作为数据源,其中,(x,y)表示键值对,x为键,y为值。
默认会将值y绑定到option的value中,而option显示的内容,由前面的x for...决定。
eg:
<section ng-model= "name" ng-options="x for (x,y) in sites"></section>

三、AngularJS中的DOM操作
①ng-disabled="true/false"
当传入true时,控件禁用。传入false时,启用。
<label>
<input type="checkbox" ng-model="mySwitch">是否同意
小希真萌!
</label>
<button ng-disabled="!mySwitch" class="btn btn-primary">点我!</button>
<p></p>

②ng-show
默认隐藏 传入true时显示
<label>
<input type="checkbox" ng-model="mySwitch1">是否
显示?
</label>
<button ng-show="mySwitch1" class="btn btn-primary">点我!</button>
<p></p>

③ng-hide
默认显示 传入true是隐藏
<label>
<input type="checkbox" ng-model="mySwitch2">是否隐藏?
</label>
<button ng-hide="mySwitch2" class="btn btn-primary">点我!</button>
<p></p>

④ng-click
定义了AngularJS中的点击事件。
只能触发绑定在Angular作用域中的属性与方法。
<button ng-click="count = count + 1">点我!</button>
<p>{{ count }}</p>
<button ng-click="func()">说一下感想吧!</button>

 

DOM操作附录:
eg:
先导入JS文件angular.js!!!

<script src="libs/angular.js"></script>

JS代码:

1 angular.module("app",[])
2 .controller("ctrl",function($scope,$rootScope){
3 $scope.count = 10;
4 $scope.func = function(){
5 alert("小希真萌!");
6 }
7 })

 

五、AngularJS中的表单验证

1、表单中常见的验证操作:
$dirty:表单有填写记录
$valid:字段内容合法的
$invalid:字段内容是非法的
$pristine:表单没有填写记录
$error:表单验证不通过的错误信息

2、验证时需给表单及需要验证的input,设置name属性;
给form及input设置name后,会将form表单信息,默认绑定到$scope作用域中,故可以使用formName.inputName.$验证操作 得到验证结果;
eg:
formName.inputName.$dirty="true" 表单被填写过
formName.inputName.$invalid="true" 表单输入不合法
formName.inputName.$error.required="true" 表单必填但未填
$error支持的验证有:required/minlength/maxlength/pattern/email/number/data
/url等……

3、为避免冲突,例如使用type="email"时,H5也会进行验证操作。
如果只想使用AngularJS验证,可以使用<form novalidate></form>属性,禁用H5自带验证功能。

 

六、AngularJS中的动画 

AngularJS中使用动画 :
提供了动画效果,可以配合 CSS使用。

1、AngularJS 使用动画需要引入angular-animate.js库!

2、如果页面中没有自定义的模块(ng-app),可以直接绑定系统模块ng-app="ngAnimate";
如果页面中已有自定义模块,可以在自定义模块后注入"ngAnimate"模块。
eg:angular.module("app",["ngAnimate"])

3、当调用相关指令控制元素显示隐藏时,会自动添加对应的class类;
ng-show/ng-hide 会移除/添加ng-hide
ng-if/ng-switch/ng-repeat等其他指令,需要分别设置显示后和隐藏后的class样式;
显示后:.ng-enter-active,.ng-leave{}
隐藏后:.ng-enter,.ng-leave-active{}



七、AngularJS中的路由

1、载入了实现路由的 js 文件:angular-route.js。

2、包含了 ngRoute 模块作为主应用模块的依赖模块。
eg:angular.module("app",["ngRoute"])

3.即将超链接改为路有格式:
eg:<a href="#/page1">page1</a>

4.在config中,注入$routeProvider,进行路由配置:
$routeProvider
.when('/',{template:'这是首页页面'})
.when('/page1',{template:'这是page1页面'})
.when('/page2',{template:'这是page2页面'})
.when('/page3',{template:'这是page3页面'})
.otherwise({redirectTo:'/'});
})
5、在页面的合适位置,添加ng-view,用于承载打开的页面
<div ng-view></div> <ng-view></ng-view>

【路由参数对象中可选属性】
1.tempalte:自定的HTML模板,会加载在ng-view中
2.tempalteUrl:导入外部的HTML模板,为了避免冲突外部的HTML只需要保留body内部的代码即可;
3.redirectTo:重定向于某个页面,一般用于.otherwise()中;
4.controller:在当模板上执行的controller函数,生成新的scope

 

 

 

 

 

今天的理论知识先分享到这里,小菜鸟一枚,感谢您的支持!

 

 

 

 

..。..。..。..。..。..。..。..。..。END..。..。..。..。..。..。..。..。..。

..。..。..。..。..。..。希望可以帮到你哟..。..。..。..。..。..。


 

作者:夕照希望
出处:http://www.cnblogs.com/hope666/  

 

3.angularjs必备知识

  AngularJS是一个WEB应用框架。  本节我们会学习控制器(控制数据),会学习作用域(连接控制器和用户界面),用户界面又叫做视图,通过模板和作用域来创建交互视觉效果。另外,我们还会学习其他的特性比如如何使用... 查看详情

开发ionic应用前angularjs必备知识

摘自:http://www.cnblogs.com/macyandlujie/p/5865755.html Angularjs是一个Web应用框架,它极其流行,已经成为目前使用最广泛的Javascript工具之一。Ionic基于AngularJS构建而成,所以学习一些AngularJS的知识很有必要。Ionic并没有独立开发一套... 查看详情

js基础——入门必备

·首先,来简单的说一下,JS是啥,JS是JavaScript的简写,是基于浏览器的基于对象的事件驱动脚本语言·那么JS有什么用呢?ta可以实现:表单验证添加动画效果动态更改页面内容Ajax网络请求·那么怎么在网页中使用它呢?可以有... 查看详情

编程必备基础-音视频小白系统入门课

...统入门课普适所有方向程序员,系统补足你缺乏的音视频基础知识 5G的商用,使高效高清的直播和视频成为刚需,短视频、娱乐直播等都与音视频联系紧密,各大互联网公司都在储备音视频方向的开发者。但是,网络上关于... 查看详情

python官方文档(入门必备)

一、适合新手入门的中文教程Python基础教程廖雪峰pythoncodedict基础教程二、不错的英文参考ThePythonStandardLibrarythislibraryreferencemanualdescribesthestandardlibrarythatisdistributedwithPython.Italsodescribessomeoftheoptionalcomponents 查看详情

java入门--------必备知识(基础知识:输出语句与输入语句)(代码片段)

一、输入语句:java使用Scanner语句进行输入操作: importjava.util.Scanner;输入一个整数  Scannersc=newScanner(System.in);  inta=sc.nextInt();  输入一个浮点数 Scannersc=newScanner(System.in); floatb=sc.nex 查看详情

自然语言处理pytorch基础入门(必备基础知识)(代码片段)

PyTorch基础实践PyTorch基础安装PyTorch创建张量张量类型和大小张量操作索引,切片和连接张量和计算图CUDA张量练习Solutions总结PyTorch基础在本书中,我们广泛地使用PyTorch来实现我们的深度学习模型。PyTorch是一个开源、社区... 查看详情

angularjs基础(60分钟入门)(转)

AngularJs是一个不错的用于开发SPA应用(单页Web应用)的框架。单页Web应用(singlepagewebapplication,SPA),就是只有一张Web页面的应用。浏览器一开始会加载必需的HTML、CSS和JavaScript,所有的操作都在这张页面上完成,由JavaScript来控... 查看详情

python官方文档(入门必备)

一、适合新手入门的中文教程Python基础教程廖雪峰pythoncodedict基础教程二、不错的英文参考ThePythonStandardLibrarythislibraryreferencemanualdescribesthestandardlibrarythatisdistributedwithPython.ItalsodescribessomeoftheoptionalcomponentsthatarecommonlyincludedinPythondis... 查看详情

超详细的80个python入门实例,代码清晰拿来即用,学习提升必备(代码片段)

...大家分享80个Python入门实例,都是基础实例,经典实用,代码清晰可拿来即用,很适合学习提升使用,适用性广&#x 查看详情

c语言入门基础必备知识串讲-详细梳理!(新人疑惑解决,建议收藏)

本文对C语言基础入门知识进行了粗略的讲解,带你了解一下基本的大纲,画出导图系统论述写出的过程令我受益颇多,为了不浪费大家时间你可以预先选择一个你感兴趣的目录查看下讲解是否正确以及能否有那么一... 查看详情

小白福音!零基础入门软件测试,首选必备课程

...划1-4软件测试之“独孤九剑”第2章软件测试工程师必备基础知识本章将讲解软件的概念、软件的生命周期、软件测试方法、软件测试常见模型、软件测试的覆盖率及软件测试规范,一步步带你揭开测试大门。2-1软件的十大特性2-... 查看详情

angularjs从入门基础mvc三层架构常用指令

     AngularJS从入门基础 mvc模型常用指令 ★               最近一直在复习AngularJS,它是一款优秀的前端JS框架,已经被用于Google的多 查看详情

python零基础到入门python基础知识必备篇——python简介(代码片段)

目录📢前言👑Python简介🌲Python诞生背景🌲Python特点🌲编程语言排行榜💬总结📢前言本文章是【Python零基础到入门专栏】学习的系列文章Python专栏传送门在此:https://blog.csdn.net/zhangay1998/category_110... 查看详情

保姆级java入门练习教程,附代码讲解,小白零基础入门必备(建议收藏)(代码片段)

🌲本文收录于专栏《技术专家修炼》试用于学完「Java基础语法」后的巩固提高及「LeetCode刷题」前的小试牛刀。作者其它优质专栏推荐:📚《源码中的设计模式》——理论和实战的完美结合📚《leetcode300题》—... 查看详情

vue入门基础教程之经验总结篇(小白入门必备)|建议收藏(代码片段)

目录一、vue组件的三个API:prop、event、slot二、Vue生命周期中的钩子函数三、自定义指令四、mixins基础概况五、修饰符一、vue组件的三个API:prop、event、slotprop定义了这个组件有哪些可配置的属性,组件的核心功能也都... 查看详情

[渗透入门篇]从渗透测试执行标准着手的渗透学习大纲。掌握了这些知识点还担心找不到工作?

...总结python通讯安全​​​​​​靶场系列文章:[渗透入门篇]渗透行业必备术语大集合(一)          [渗透入门篇]渗透行业必备术语大集合(二)          [渗透入门篇]渗透行业必备术语大集合(三)          [渗透... 查看详情

python零基础到入门python基础知识必备篇——python安装+环境搭建(代码片段)

目录📢前言👑Python安装+环境搭建🌲Python3支持的平台🏳️‍🌈1.Python3下载🏳️‍🌈2.运行Python🏳️‍🌈3.配置环境变量🏳️‍🌈4.运行测试输出👀总结📢前言本 查看详情