AngularJS基本概念

版本:

AngularJs 1.x:https://angularjs.org/

AngularJs 2+:https://angular.io/ 或 https://angular.cn/

实现语言:

Angular 1.x:使用ES(avaScript)编写,可直接在浏览器中运行。

Angular 2+:基于TypeScript,需要经过编译后才能在浏览器中运行【需要引入很多第三方依赖】,因此需要使用构建工具。

适用场景:

Angular 1.x:在设计之初主要是针对PC端的,但有衍生框架支持如 ionic。

Angular 2+:目标是原生移动,支持I0S和Andriod

技术细节:

Angular 1.x 中的控制器在 Angular 2+ 中不再使用,也可以说控制器在 Angular 2中被 Component 组件所替代

1、模块与控制器

1.1 模块

AngularJS程序通过模块(module)来组织、实例化、启动应用程序,其作用为:

  • 存储一组Angularjs功能组件(如类、函数、变量等)
  • 目的隐藏每个模块的实现细节,从而降低开发难度
  • 可以与其他模块产生互相依赖的关系;

1)声明模块:

var app = angular.module('moduleName',[]);

参数1(name):定义模块的名称

参数2( [ ] ):“[ ]”代表一个数组,用来存放模块所依赖的其他模块的名称,如果数组为空,则表示模块没有依赖

2)绑定模块:ng-app

<div ng-app="moduleName"></div>

ng-app指令作用:

  1. 让AngularJS框架在指定的标签上启动,并载入这个模块
  2. 载入该模块后,在标签内部就可以使用该模块上的各种AngularJS功能组件,如控制器

1.2 控制器 

控制器的最大作用就是把作用域($scope)和模板上的HTML标签绑定到一起,然后在这个标签中的Angulans表达式就可以依附于该作用域执行。

一个模块可以有多个控制器。

1)控制器创建:

var app= angular.module('myApp',[]);
//$scope用到了依赖注入
app.controller('ControllerName',function($scope){//TOD0:为$scope准备各种数据
});

参数1(ControllerName):控制器名称
参数2:回调函数 function($scope){}

  • scope(作用域)是应用在 HTML(视图)和JavaScript(控制器)之间的纽带
  • scope 是一个JavaScript对象,有可用的方法和属性
  • scope 可应用在视图和控制器上

2)控制器绑定:ng-controller

 <div ng-controller='mycontroller'></div>

2、AngularjS作用域

一个 module 可以有多个 controller,每个 controller 中定义的数据(变量、函数...)应当有特定的作用范围

AngularJS是一个MVC(Model View Controller)框架,使用作用域(scope)来管理控制器(controller)和视图(view)之间的数据交互。在AngularS中,每个控制器都有一个作用域(scope),它是一个纯JavaScript对象,用于在控制器和视图之间传递数据。

作用域($scope),可以理解释为“数据仓库”,是一个JavaScript对象,包含属性和函数

作用域中定义的属性和方法,可以在【视图】和【控制器】 中使用

1)作用域中定义属性和函数:

app.controller('ControllerName',function($scope){// 定义属性name$scope.name = "lucy";// 定义函数say()$scope.say=function(){$scope.welcome ='welcome:'+ $scope.name +'!';};
});

2)根作用域($rootscope):

  • AngularJS中,所有应用都有一个根作用域($rootscope)
  • $rootScope用个各个控制器这间共享数据
  • $rootScope的作用范围,ng-app所指定的范围

创建格式:

<script>
var app=angular.module('myApp',[]);
app.controller('mycontroller',function($scope,$rootscope){// todo
});
</script>

3)作用域间的嵌套
AngularJS巧妙的使用了JavaScript原型链,实现了作用域的嵌套关系;
使用规则:

  • 优先使用当前作用域
  • 下级可以使用上级作用域
  • 上级不能作用下级作用域

3、AngularJS表达式

1)插值表达式语法格式:

{{ expression }}

2)过滤器

使用格式:

{{value | fiterl | filter2 ...}}

3)自定义过滤器

语法:

app.filter('过滤器名',function(){//在返回的这个函数中,还实现具体功能return function(待过滤数据,参数....){....return 已过滤数据}; 
});

举例:

<script>var myApp=angular.module('myApp',[]);myApp.filter('scoreFilter',function(){return function(score){if(score >= 90) return'优秀'if(score >= 80) return'良好'if(score >= 70) return'中等'if(score >= 60) return'及格'return'不及格';}
});
</script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/9429.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【机器学习】AI时代的核心驱动力

机器学习&#xff1a;AI时代的核心驱动力 一、引言二、机器学习的基本原理与应用三、机器学习算法概览四、代码实例&#xff1a;线性回归的Python实现 一、引言 在数字化浪潮席卷全球的今天&#xff0c;人工智能&#xff08;AI&#xff09;已经不再是科幻小说中的遥远概念&…

[muduo网络库]——muduo库三大核心组件之Channel类(剖析muduo网络库核心部分、设计思想)

接着上文[muduo网络库]——muduo库的Reactor模型&#xff08;剖析muduo网络库核心部分、设计思想&#xff09;&#xff0c;接下来详细介绍一下这三大核心组件中的Channel类。 先回顾一下三大核心组件之间的关系。 接着我们进入正题。 Channel Channel类封装了一个 fd 、fd感兴…

MySQL安全性:用户、权限管理、ACL、加密连接及SQL安全

在数据库管理系统中&#xff0c;安全性始终是一个核心关注点。MySQL&#xff0c;作为广泛使用的开源关系型数据库管理系统&#xff0c;自然也不例外。本文将深入探讨MySQL的安全性&#xff0c;特别是用户和权限管理、访问控制列表&#xff08;ACL&#xff09;、加密连接&#x…

【STM32 |程序实测】LED灯闪烁、LED灯流水线、蜂鸣器

LED闪烁&LED流水灯&蜂鸣器的面包板接线图&#xff0c;及对应程序示例 LED闪烁 面包板接线图如下 开启APB2时钟&#xff0c;并且在GPIOA上进行配置&#xff0c;推挽输出&#xff0c;引脚A0&#xff0c;50HZ速度 #include "stm32f10x.h" /…

[Linux][网络][网络层][IP协议]详细讲解

目录 0.基本概念1.IP协议头格式2.IP分片与组装1.为什么要分片&#xff1f;2.分片后谁来组装&#xff1f;3.这个分片操作传输层知道吗&#xff1f;4.如何识别报文和报文的不同&#xff1f;5.接收端&#xff0c;如何得知报文是独立的还是一个分片&#xff1f;6.如何区别哪些分片是…

【论文泛读|附源码】如何进行动力学重构? 神经网络自动编码器结合SINDy发现数据背后蕴含的方程

这一篇文章叫做 数据驱动的坐标发现与方程发现算法。 想回答的问题很简单&#xff0c;“如何根据数据写方程”。 想想牛顿的处境&#xff0c;如何根据各种不同物体下落的数据&#xff0c;写出万有引力的数学公式的。这篇文章就是来做这件事的。当然&#xff0c;这篇论文并没有…

数据结构--图。

在前面&#xff0c;我们学习了线性表和树&#xff0c;而接下来我们要学习的图相较于他们就更加复杂。 目录 一.图的有关概念 一.图的有关概念 1.定义 图(graph)G由两个集合V和E组成&#xff0c;记为G&#xff08;VE)。V是顶点的有穷非空集合;E是边的集合,边是V中顶点的无序对…

xml怎么用【C#,XML】

作用&#xff1a; 用来保存class对象的全部属性。 语法&#xff1a; < > 必须成对出现 <!--这个是注释--> <Student> </Student> 必须成对出现&#xff0c;Student也叫元素标签 <Name&g…

【Linux】传输文件,补充:VMware中Linux系统无法连接网络的解决方法

Linux系统可以和其他系统之间进行传输文件&#xff0c;只要通过ssh连接成功以后&#xff0c;就能进行文件传输。 Linux系统也可以通过URL规则和网页之间进行传输文件&#xff08;即上传/下载&#xff09;。 1、Linux系统之间传输文件&#xff1a;scp centos7自带ssh服务&…

向上转型和向下转型

转型 概念&#xff1a;Java数据类型转换是将一种数据类型的值转换为另一种数据类型的值。在Java中&#xff0c;数据类型转换可以分为两种&#xff1a;向上转型和向下转型 向上转型 ​ 是把子类对象当作父类对象来使用的过程(自动转型)。在向上转型中&#xff0c;我们创建一个…

FPGA+炬力ARM实现VR视频播放器方案

FPGA炬力ARM方案&#xff0c;单个视频源信号&#xff0c;同时驱动两个LCD屏显示&#xff0c;实现3D 沉浸式播放 客户应用&#xff1a;VR视频播放器 主要功能&#xff1a; 1.支持多种格式视频文件播放 2.支持2D/3D 效果实时切换播放 3.支持TF卡/U盘文件播放 4.支持定制化配置…

36.Docker-Dockerfile自定义镜像

镜像结构 镜像是将应用程序及其需要的系统函数库、环境、配置、依赖打包而成。 镜像是分层机构&#xff0c;每一层都是一个layer BaseImage层&#xff1a;包含基本的系统函数库、环境变量、文件系统 EntryPoint:入口&#xff0c;是镜像中应用启动的命令 其他&#xff1a;在…

win32操作windows应用(未完成)

win32 脚本制作 一 、获取窗口句柄 首先获取句柄&#xff0c;其次扫描组件&#xff0c;然后对按钮和文本进行操作 安装依赖 pip install pywin32 -i https://pypi.doubanio.com/simple扫描全部的句柄 import win32gui# GetDesktopWindow 获得代表整个屏幕的一个窗口&#…

Blazor/Hybird 触屏下单程序调优笔记

环境 Blazor Net8.0 FreeSql Bootstrap Blazor 组件 以下都是自己瞎琢磨的和官网资料搬运,肯定有不少错漏和不合理的地方,非常希望各位大佬评论区给我建议和意见. 1. 组件化需要提升渲染性能的组件,例如触摸屏显示每个商品下单数量的商品列表 避免不必要地呈现组件子树, 执…

QT-小项目:连接MY SQL数据库实现登录(下一章实现登录注册账号和忘记密码功能)

一、环境准备 1、下载MYSQL 64位&#xff0c;安装完成&#xff0c;制作简易数据库教程如下&#xff1a; MY SQL安装 2、QT 编译器使用 二、实现工程目录&#xff08;基于上一章基础上&#xff09; 三、源程序增加内容如下&#xff1a; login.cpp 增加头文件&#xff1a; #in…

《TAM》论文笔记(上)

原文链接 [2005.06803] TAM: Temporal Adaptive Module for Video Recognition (arxiv.org) 原文代码 GitHub - liu-zhy/temporal-adaptive-module: TAM: Temporal Adaptive Module for Video Recognition 原文笔记 What&#xff1a; TAM: Temporal Adaptive Module for …

内网安全综合管理系统是什么 | 好用的内网安全管理系统有哪些

内网安全综合管理系统是指一种集成终端管理、网络管理、内容管理、资产管理等功能的综合性安全管理系统。它主要对内网上的主机进行统一安全管理&#xff0c;包括对网络主机用户操作实施监督控制&#xff0c;并对主机中的安全软件&#xff08;如主机入侵监测系统、主机防火墙和…

关于提高 PHP 性能

解锁 PHP 性能&#xff1a;优化你的 Web 应用 在当今数字化世界中&#xff0c;Web 应用的性能对用户体验至关重要。作为最流行的服务器端脚本语言之一&#xff0c;PHP 在构建 Web 应用方面拥有广泛的应用。然而&#xff0c;PHP 应用的性能优化仍然是许多开发者关注的焦点之一。…

5 Spring 事务管理

目录 1.概述 2.事务特性&#xff1a;ACID 3.Spring 框架的事务管理支持两种方式 编程式事务 申明式事务 4.Spring 事务管理 API 事务管理器接口 Spring 的回滚方式 事务定义接口 事务的四种隔离级别 事务的七种传播行为 5.事务注解例子&#xff1a; Transactianal…

springboot+vue+mybatis警情高发智能灯箱+PPT+论文+讲解+售后

时代在飞速进步&#xff0c;每个行业都在努力发展现在先进技术&#xff0c;通过这些先进的技术来提高自己的水平和优势&#xff0c;警情高发智能灯箱当然不能排除在外。警情高发智能灯箱是在实际应用和软件工程的开发原理之上&#xff0c;运用微信开发者、java语言以及SpringBo…