当前位置: 首页 > news >正文

AngularJS学习(一)

目录

      • 1. 引入 AngularJS
      • 2. 创建一个 AngularJS 应用
      • 3. 控制器(Controller)
      • 4. 模型(Model)
      • 5. 视图(View)
      • 6. 指令(Directive)
      • 7. 过滤器(Filter)
      • 8. 服务(Service)

1. 引入 AngularJS

要使用 AngularJS,您需要首先引入 angular.js 文件。这可以通过在 HTML 文件中使用

<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js"></script>  

2. 创建一个 AngularJS 应用

在 HTML 文件中,使用 ng-app 指令创建一个 AngularJS 应用。这个指令必须放在标签内:

<html ng-app="myApp">  

同时,您可以在 JavaScript 中创建一个名为 myApp 的 AngularJS 应用:

angular.module('myApp', [])  

3. 控制器(Controller)

控制器是 AngularJS 中的核心,负责处理业务逻辑和数据操作。以下是一个简单的控制器示例:

angular.module('myApp', [])  .controller('MyCtrl', function($scope) {  $scope.message = 'Hello, AngularJS!';  });  

在 HTML 中,您可以使用 ng-controller 指令将该控制器应用于 HTML 元素:

<div ng-controller="MyCtrl">  <p>{{ message }}</p>  
</div>  

4. 模型(Model)

模型是 AngularJS 中的数据模型,负责存储数据和处理数据变化。以下是一个简单的模型示例:

angular.module('myApp', [])  .controller('MyCtrl', function($scope) {  $scope.model = {  name: 'John',  age: 30  };  });  

在 HTML 中,您可以使用 ng-model 指令将数据绑定到 HTML 元素:

<input type="text" ng-model="model.name">  
<input type="number" ng-model="model.age">  

5. 视图(View)

视图是 AngularJS 中的界面,负责显示数据和用户交互。以下是一个简单的视图示例:

<div ng-view></div>  

在 JavaScript 中,您可以使用 ng-view 指令将一个名为 myView 的视图应用于 HTML 元素:

angular.module('myApp', [])  .controller('MyCtrl', function($scope) {  $scope.message = 'Hello, AngularJS!';  })  .view('myView', {  template: '<p>{{ message }}</p>'  });  

6. 指令(Directive)

指令是 AngularJS 中的特殊语法,用于操作 DOM 元素和数据。以下是一个简单的指令示例:

angular.module('myApp', [])  .directive('myDirective', function() {  return {  restrict: 'A',  template: '<p>{{ message }}</p>',  scope: {  message: '=myMessage'  }  };  });  

在 HTML 中,您可以使用 my-directive 指令应用该指令:

<div my-directive my-message="message"></div>  

7. 过滤器(Filter)

过滤器是 AngularJS 中的特殊函数,用于过滤和转换数据。以下是一个简单的过滤器示例:

angular.module('myApp', [])  .filter('myFilter', function() {  return function(input) {  return input.toUpperCase();  };  });  

在 HTML 中,您可以使用 my-filter 指令过滤数据:

<p>{{ message | myFilter }}</p>  

8. 服务(Service)

服务是 AngularJS 中的一个重要概念,它用于在应用程序中存储和处理数据。服务可以在整个应用程序中被共享,使得不同的控制器和视图可以访问和修改相同的数据。以下是一个简单的服务示例:

angular.module('myApp', [])  .service('myService', function() {  return {  data: 'This is a service',  method: function() {  return 'This is a method';  }  };  });  

在示例中,我们创建了一个名为 myService 的服务,它包含两个属性:datamethoddata 属性存储一个字符串值,而 method 属性是一个函数,它返回一个字符串值。
要在控制器中使用这个服务,我们需要在控制器的依赖列表中添加该服务。例如,下面的控制器将使用 myService 服务:

angular.module('myApp', [])  .controller('myCtrl', function($scope, myService) {  $scope.serviceData = myService.data;  $scope.serviceMethod = myService.method();  });  

在这个控制器中,我们使用 myService 服务设置了两个变量:serviceDataserviceMethodserviceData 存储了服务中的 data 属性值,而 serviceMethod 存储了服务中的 method 属性返回的值。
在视图中,我们可以使用这些变量来显示服务中的数据和方法:

<div ng-controller="myCtrl">  <p>Service data: {{ serviceData }}</p>  <p>Service method: {{ serviceMethod }}</p>  
</div>  

这是一个简单的示例,展示了如何在 AngularJS 中使用服务。服务可以帮助您更好地组织应用程序的代码,使代码更易于维护和扩展。

相关文章:

AngularJS学习(一)

目录 1. 引入 AngularJS2. 创建一个 AngularJS 应用3. 控制器&#xff08;Controller&#xff09;4. 模型&#xff08;Model&#xff09;5. 视图&#xff08;View&#xff09;6. 指令&#xff08;Directive&#xff09;7. 过滤器&#xff08;Filter&#xff09;8. 服务&#xf…...

918. 环形子数组的最大和

918. 环形子数组的最大和 给定一个长度为 n 的环形整数数组 nums &#xff0c;返回 nums 的非空 子数组 的最大可能和 。 环形数组 意味着数组的末端将会与开头相连呈环状。形式上&#xff0c; nums[i] 的下一个元素是 nums[(i 1) % n] &#xff0c; nums[i] 的前一个元素是…...

AI算法图形化编程加持|OPT(奥普特)智能相机轻松适应各类检测任务

OPT&#xff08;奥普特&#xff09;基于SciVision视觉开发包&#xff0c;全新推出多功能一体化智能相机&#xff0c;采用图形化编程设计&#xff0c;操作简单、易用&#xff1b;不仅有上百种视觉检测算法加持&#xff0c;还支持深度学习功能&#xff0c;能轻松应对计数、定位、…...

C语言文件指针设置偏移量--fseek

一、fseek fseek是设置文件指针偏移量的函数&#xff0c;具体传参格式为&#xff1a; int fseek(FILE *stream, long int offset, int whence) 返回一个整数&#xff0c;其中&#xff1a; 1、stream是指向文件的指针 2、offset是偏移量&#xff0c;一般是指相对于whence的便…...

快速消除视频的原声的技巧分享

网络上下载的视频都会有视频原声或者背景音乐&#xff0c;如果不喜欢并且想更换新的BGM要怎么操作呢&#xff1f;今天小编就来教你如何快速给多个视频更换新的BGM&#xff0c;很简单&#xff0c;只需要将原视频的原声快速消音同时添加新的背景音频就行&#xff0c;一起来看看详…...

lua脚本实现Redis令牌桶限流

背景 令牌桶限流是一种常见的流量控制算法&#xff0c;用于控制系统的请求处理速率&#xff0c;防止系统过载。在令牌桶限流算法中&#xff0c;可以将请求看作是令牌&#xff0c;而令牌桶则表示系统的处理能力。系统在处理请求时&#xff0c;首先需要从令牌桶中获取令牌&#…...

最新 23 届计算机校招薪资汇总

24 届的秋招提前批已经开始了&#xff0c;比如米哈游、oppoe、tplink 等公司都已经录取开启提前批。 像腾讯、字节、阿里等一线大厂的话&#xff0c;根据往年的情况&#xff0c;估计是 7月下-8 月初。 所以今年参加秋招的同学&#xff0c;要抓紧复习了。 提前批通常就持续不到…...

BUU CODE REVIEW 1

BUU CODE REVIEW 1 考点&#xff1a;PHP变量引用 源码直接给了 <?phphighlight_file(__FILE__);class BUU {public $correct "";public $input "";public function __destruct() {try {$this->correct base64_encode(uniqid());if($this->c…...

django使用ztree实现树状结构效果,子节点实现动态加载(l懒加载)

一、实现的效果 由于最近项目中需要实现树状结构的效果,考虑到ztree这个组件大家用的比较多,因此打算在django项目中集成ztree来实现树状的效果。最终实现的示例效果如下: 点击父节点,如果有子节点,则从后台动态请求数据,然后显示出子节点的数据。 二、实现思路 …...

认识springboot 之 了解它的日志 -4

前言 本篇介绍springboot的日志&#xff0c;如何认识日志&#xff0c;如何进行日志持久化&#xff0c;通过日志级别判断信息&#xff0c;了解Lombok插件的使用&#xff0c;通过Lombok自带注释更简洁的来完成日志打印&#xff0c;如有错误&#xff0c;请在评论区指正&#xff0…...

关于大规模数据处理的解决方案

大规模数据处理已经成为了现代商业和科学的核心。随着互联网普及和物联网技术的发展&#xff0c;越来越多的数据被收集和存储&#xff0c;这些数据包含了各种各样的信息&#xff0c;例如客户行为、传感器读数、社交媒体活动等等。这些数据的数量和复杂性已经超出了传统数据处理…...

免费快速下载省市区县行政区的Shp数据

摘要&#xff1a;一般非专业的GIS应用通常会用到省市等行政区区划边界空间数据做分析&#xff0c;本文简单介绍了如何在互联网上下载省&#xff0c;市&#xff0c;区县的shp格式空间边界数据&#xff0c;并介绍了一个好用的在线数据转换工具&#xff0c;并且开源。 一、首先&am…...

MAC下配置android-sdk

MAC下配置android-sdk 1、前提2、brew安装3、配置sdk 1、前提 安装好JDK安装brew 2、brew安装 brew install android-sdk brew install android-platform-tools检查是否安装成功 android3、配置sdk brew list android-sdk进入配置文件 sudo vim ~/.zshrc配置 export AND…...

Hive-数据倾斜

在计算各省份的GMV时&#xff0c;有可能会发生数据倾斜&#xff0c;解决办法如下&#xff1a; 分组聚合 预聚合思想 map-side&#xff08;预聚合在map里面&#xff09;skew-groupby&#xff08;多个reduce阶段进行汇总&#xff09;&#xff1a;先对倾斜的key加上随机数&#x…...

Java多线程(三)

目录 一、Thread类基本用法 1.1 Thread常见构造方法 1.2 Thread常见属性 二、多线程常用的创建方式 2.1 继承Thread类 2.2 实现Runnable接口 2.3 继承Thread接口&#xff0c;使用匿名内部类 2.4实现Runnable接口&#xff0c;使用匿名内部类 2.5使用lambda表达式 三、线程的启动…...

Linux操作系统3-项目部署

手动部署 步骤 1.在idea中将文件项目进行打包 2.自定义一个文件目录&#xff0c;上传到Linux 3.使用 java -jar jar包名就可以进行运行 注意,如果需要启动该项目&#xff0c;需要确定所需的端口是否打开 采用这种方式&#xff0c;程序运行的时候会出现霸屏&#xff0c;并且会…...

软件测试面试题——接口自动化测试怎么做?

面试过程中&#xff0c;也问了该问题&#xff0c;以下是自己的回答&#xff1a; 接口自动化测试&#xff0c;之前做过&#xff0c;第一个版本是用jmeter 做的&#xff0c;1 主要是将P0级别的功能接口梳理出来&#xff0c;根据业务流抓包获取相关接口&#xff0c;并在jmeter中跑…...

如何在医疗器械行业运用IPD?

医疗器械是指单独或者组合使用于人体的仪器、设备、器具、材料或其他物品&#xff0c;包括所需要的软件。按安全性可分为低风险器械、中风险器械和高风险器械。其中低风险器械大都属于低值耗材&#xff0c;其中包括绷带、纱布、海绵、消毒液等&#xff1b;中度风险器械类包括体…...

16. Spring Boot 统一功能处理

目录 1. 用户登录权限校验 1.1 最初用户登录验证 1.2 Spring AOP 用户统一登陆验证 1.3 Spring 拦截器 1.3.1 创建自定义拦截器 1.3.2 将自定义拦截器加入系统配置 1.4 练习&#xff1a;登录拦截器 1.5 拦截器实现原理 1.6 统一访问前缀添加 2. 统一异常处理 3. 统…...

PostgreSQL-数据库命令

PostgreSQL-数据库命令 介绍 一个数据库是一个或多个模式的集合,而模式包含表、函数等。因此,完整的逻辑组织结构层次是服务器实例(PostgreSQL Server)、数据库(Database)、模式(Schema)、表(Table),以及某些其他对象(如函数)。一个PostgreSQL服务器实例可以管理…...

浅谈 React Hooks

React Hooks 是 React 16.8 引入的一组 API&#xff0c;用于在函数组件中使用 state 和其他 React 特性&#xff08;例如生命周期方法、context 等&#xff09;。Hooks 通过简洁的函数接口&#xff0c;解决了状态与 UI 的高度解耦&#xff0c;通过函数式编程范式实现更灵活 Rea…...

【网络】每天掌握一个Linux命令 - iftop

在Linux系统中&#xff0c;iftop是网络管理的得力助手&#xff0c;能实时监控网络流量、连接情况等&#xff0c;帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好&#xff0c;欢迎来到《云原生核心技术》系列的第七篇&#xff01; 在上一篇&#xff0c;我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在&#xff0c;我们就像一个拥有了一块崭新数字土地的农场主&#xff0c;是时…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用&#xff1a;实现组件通用属性的渐变过渡效果&#xff0c;提升用户体验。支持属性&#xff1a;width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项&#xff1a; 布局类属性&#xff08;如宽高&#xff09;变化时&#…...

【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密

在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

基于Flask实现的医疗保险欺诈识别监测模型

基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施&#xff0c;由雇主和个人按一定比例缴纳保险费&#xff0c;建立社会医疗保险基金&#xff0c;支付雇员医疗费用的一种医疗保险制度&#xff0c; 它是促进社会文明和进步的…...

MMaDA: Multimodal Large Diffusion Language Models

CODE &#xff1a; https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA&#xff0c;它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

PL0语法,分析器实现!

简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

Spring AI与Spring Modulith核心技术解析

Spring AI核心架构解析 Spring AI&#xff08;https://spring.io/projects/spring-ai&#xff09;作为Spring生态中的AI集成框架&#xff0c;其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似&#xff0c;但特别为多语…...

Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)

目录 一、&#x1f44b;&#x1f3fb;前言 二、&#x1f608;sinx波动的基本原理 三、&#x1f608;波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、&#x1f30a;波动优化…...