Angular安装与基础语法

安装Angular cli

npm i -g angular-cli

创建项目

npm new project_name(项目名称)

启动项目

cd project_name(j进入新创建的项目)

ng serve --open

创建组件 

ng g c xxx

会在根组件的统计生成一个组件xxx文件夹,比如ng g c hello 就会生成一个hello组件文件夹,里面是这个hello组件的四个文件,同时angularcli脚手架会自动把这个组件引入到app.module.ts中。

引用组件:

hello组件的ts文件中,可以通过selector属性得到组件名,引用时直接通过<组件名></组件名>的方式即可。

angular语法

模版:

在angular中,模版就是一块HTML。

1、插值语法

就是将表达式嵌入到标记文本中,默认情况下,插值会用双花括号{{}}作为分隔符。

在组件A 的js文件中声明的变量,可以直接用在相对应组件A的html中通过{{}}花括号引用:

支持:简单的JS运算、三元表达式;不支持循环、if判断

2、属性绑定

2-1、attribute绑定

语法:使用[属性名] ,如果要绑定字符串作为属性,就要使用" '属性名' ";

如果不使用" ' ' ",则会默认为属性绑定的是变量

2-2、类绑定

单类名、多类名

2-3、样式绑定

单一样式绑定、多样式绑定

3、条件判断

使用*ngIf 直接影响元素是否被渲染,而非控制元素的显示和隐藏。

elseTemplate这个名称是唯一的,模版中不能出现多个elseTemplate,如果出现则只会渲染第一个同名的模版,此时可以将elseTemplate的名称修改即可

angular语法快捷键插件

4、循环语句

两种方式:*ngFor 、 [ngSwitch]

声明两个变量

使用*ngFor循环语句:

使用[ngSwitch]循环语句,结合*ngSwitchCase使用:

 

5、事件绑定

在标签上,使用(click)添加绑定事件 。

html中添加绑定事件 

ts中声明方法:

6、模版引用变量

 

7、数据双向绑定ngModel

双向绑定是应用中的组件共享数据的一种方式,使用双向绑定来侦听事件并在父组件和子组件之间同步更新值,ngModel指令只对表单元素有效,且在使用之前需要导入FormsMoudle模块 。

写法:在表单元素上使用[(NGModel)]="要进行双向绑定的变量"。

1、引入FormsMoudle模块

2、在模版中使用双向绑定变量

声明变量title

在模版中给表单元素使用[(ngModel)],双向绑定变量

双向绑定页面显示:在input表单中输入文字,下面引用了变量的位置同时发生更新;

 

 8、单个动态表单控件

 1、要使用响应式表单控件,就要从@angular/forms 包中导入ReactiveFormsModule,并把它添加到NgMoudle的imports数组中

2、要注册一个表单控件,就要导入FormControl类并创建一个FormControl的新实例,将其保存为类的属性。 

要在哪个组件中使用表单控件,就要在哪个组件的js/ts文件中引用,并创建实例。

比如hello组件要使用动态表单控件,就要现在hello组件的js/ts中引入;

引入后,在组件hello的js/ts文件中创建实例 。

模板表单元素动态绑定变量,注意使用动态表单控件时,要通过name.value调用

 如何修改动态表单绑定的变量呢?通过FormControl提供的setValue()方法;

 9、表单控件分组

上面提到的FormControl 是怎么引入的,FormGroup同理。

 10、表单验证

 表单元素添加required关键字标识必填,通过绑定ngModel的引用可以拿到当前组件的信息,通过引用获取到验证的信息。

首先要给表单元素通过#绑定模版引用变量,这个引用变量需要等于ngModel,才能拿到当前表单绑定的响应状态

 当表单元素设置了required时表示必填但是没有输入时,通过#模版引用变量,可以获取到当前表单元素的验证信息;

 11、自定义表单验证

在组件内引入validators、formBuilder模块

 

 

 12、angualr管道

按照上方的管道使用时,单词字母均要改成小写,并且去掉Pipe ;管道可以连续调用,连续调用时是从左往右逐层执行,见下 

自定义管道,使用脚手架命令:

ng g p 自定义管道名 ,执行命令得到以下:

 

13、组件的声明周期以及属性传递

注意:ngOnchanges生命周期在ngOnInit钩子函数之前。

 14、组件交互

子传父: 

子组件给父组件传递数据,使用@Output

 父传子:

方法①: 

@ViewChild,父组件中通过给子组件添加#myChild 字样,可以获取子组件实例,获取子组件数据。

方法②:

父组件给子组件传递属性,父组件直接在子组件标签通过[ 属性名 ]的方式传递属性,子组件通过@Input接收父组件传递过来的属性;

 

 15、Angular服务

 

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

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

相关文章

夜骑,是探索城市的另一种维度,是与自我对话的静谧时光

月光下的骑行浪漫主义者 想象一下&#xff0c;当白日的喧嚣退去&#xff0c;城市的霓虹开始闪烁&#xff0c;你跨上心爱的自行车&#xff0c;迎着凉爽的晚风&#xff0c;穿梭于灯火阑珊之中。夜骑&#xff0c;不仅仅是一场运动&#xff0c;更是一种逃离日常、探索未知的冒险。但…

【Ambari】Docker 安装Ambari 大数据单机版本

目录 一、前期准备 1.1 部署 docker 1.2 部署 docker-compose 1.3 版本说明 二 、镜像构建启动 2.1 系统镜像构建 2.2 安装包源镜像构建 2.3 kdc镜像构建 2.4 集群安装 2.5 容器导出为镜像 三、Ubuntu环境安装测试 3.1 环境准备 3.2 集群容器启动 一、前期准备 1.…

如何在OrangePi AIpro智能小车上实现安全强化学习算法

随着人工智能和智能移动机器人的广泛应用&#xff0c;智能机器人的安全性和高效性问题受到了广泛关注。在实际应用中&#xff0c;智能小车需要在复杂的环境中自主导航和决策&#xff0c;这对算法的安全性和可靠性提出了很高的要求。传统的强化学习算法在处理安全约束时存在一定…

享受当下,还是留待未来?一项fMRI与眼动追踪技术的联合研究

摘要 时间贴现(temporal discount)是指个体对奖励的估计会随着时间流逝而下降的心理现象。具体而言&#xff0c;当获得奖励的时间以日期(日期条件&#xff1b;例如&#xff0c;2023年6月8日)而不是延迟(延迟条件&#xff1b;例如&#xff0c;30天)呈现时&#xff0c;贴现率较低…

免费,Python蓝桥杯等级考试真题--第14级(含答案解析和代码)

Python蓝桥杯等级考试真题–第14级 一、 选择题 答案&#xff1a;B 解析&#xff1a;键为‘B’对应的值为602&#xff0c;故答案为B。 答案&#xff1a;A 解析&#xff1a;字典的符合为花括号&#xff0c;先键后值&#xff0c;故答案为A。 答案&#xff1a;C 解析&#xff1a…

Stable Diffusion 字体和场景结合【把四季藏在海里】

把四季藏在海里&#xff0c;话不多说&#xff0c;上教程。 一、花瓣找字 打开花瓣找下字&#xff0c;也可以自己做&#xff0c;我不会&#xff0c;谢谢。本文用到的字&#xff0c;版权归原作者所有。 白底黑字&#xff1a;那么就是浪花占主要部分&#xff0c;字就是海的效果&…

【改进】YOLOv8 AND YOLOv9 总目录

说明&#xff1a;本专栏为YOLOV8和YOLOV9的使用以及改进的方法。平时比较忙&#xff0c;只能随缘回答问题哈&#xff0c;谨慎订阅&#xff01; &#x1f49b; &#x1f499; &#x1f49c; ❤️ &#x1f49a; &#x1f49b; &#x1f499; &#x1f49c; ❤️ &#x1f49a; &…

C++:STL容器的学习-->string

C:STL容器的学习-->string 1. 构造方法2. string的赋值操作3. string字符串的拼接4. string 查找和替换5. string字符串的比较6. string字符存取7. string 插入和删除8. string截取 需要添加头文件#include <string> 1. 构造方法 string() 创建空的字符串 string(c…

C++学习/复习6---内存管理(数据的位置/大小)/new、delete/内存相关面试题(malloc与new/内存泄漏)

一、内存中区域 1.不同数据的存储位置 2.数据占用内存大小 二、动态内存函数 三、new与delete 1.操作内置类型 2.操作自定义类型 四、operator new与operator delete 1.底层源码&#xff08;malloc/free&#xff09; 2.内置/自定义与构造和析构 3.举例 五、定位new表达式 1.举…

使用 Django 和 RabbitMQ 构建高效的消息队列系统

文章目录 RabbitMQ 简介Django 中使用 RabbitMQ总结与拓展 在现代的 Web 应用程序开发中&#xff0c;构建一个高效的消息队列系统变得越来越重要。使用消息队列可以帮助我们解耦系统中不同模块的任务&#xff0c;并提高系统的性能和可扩展性。本文将介绍如何结合 Django 和 Rab…

LeetCode994腐烂的橘子

题目描述 在给定的 m x n 网格 grid 中&#xff0c;每个单元格可以有以下三个值之一&#xff1a;值 0 代表空单元格&#xff1b;值 1 代表新鲜橘子&#xff1b;值 2 代表腐烂的橘子。每分钟&#xff0c;腐烂的橘子 周围 4 个方向上相邻 的新鲜橘子都会腐烂。返回 直到单元格中没…

C++ std::reference_wrapper:让引用更强大

std::reference_wrapper 的通俗易懂解释 一、简介二、std::reference_wrapper 的初衷三、常用示例3.1、与 make_pair 和 make_tuple 一起使用3.2、引用容器3.3、通过 std::thread 按引用传递参数给启动函数3.4、引用作为类成员3.5、按引用传递函数对象3.6、与绑定表达式一起使用…

重新安装 Windows 10/11 后如何恢复丢失的数据?

“嗨&#xff0c;我的 Windows 10/11 崩溃了&#xff0c;所以我不得不重新安装它。我使用 USB 可启动驱动器重新安装了操作系统。但是&#xff0c;重新安装后&#xff0c;C 盘上的所有先前文件都丢失了。有什么方法可以恢复丢失的文件吗&#xff1f;” - 孙雯 在大多数情况下&…

软考 系统架构设计师系列知识点之SOME/IP与DDS(3)

接前一篇文章&#xff1a;软考 系统架构设计师系列知识点之SOME/IP与DDS&#xff08;2&#xff09; 本文内容参考&#xff1a; 车载以太网 - SOME/IP简介_someip-CSDN博客 https://zhuanlan.zhihu.com/p/369422441 什么是SOME/IP?_someip-CSDN博客 SOME/IP 详解系列&#…

day16--集合进阶(Set、Map集合)

day16——集合进阶&#xff08;Set、Map集合&#xff09; 一、Set系列集合 1.1 认识Set集合的特点 Set集合是属于Collection体系下的另一个分支&#xff0c;它的特点如下图所示 下面我们用代码简单演示一下&#xff0c;每一种Set集合的特点。 //Set<Integer> set ne…

数组-两个升序数组中位数

一、题目描述 二、解题思路 (一).基本思想&#xff1a; 如果列表总长度allsize( arr1.size()arr2.size() ) 为奇数时&#xff0c;中位数位置应该在两个列表排序后的第 allsize/2 位置处&#xff0c;如果allsize为偶数&#xff0c;中位数应该取 (allsize/2)-1 和 allsize/2 的…

【Python】 如何在Python中设置环境变量?

基本原理 在Python中&#xff0c;环境变量是一种存储系统或应用程序配置信息的方式&#xff0c;它们可以被操作系统或应用程序访问。环境变量通常用于配置应用程序的行为&#xff0c;例如指定数据库的连接字符串、API密钥、文件路径等。 Python提供了几种方法来设置和访问环境…

心电信号降噪方法(滤波器/移动平均/小波等,MATLAB环境)

对于一个正常的、完整的心动周期&#xff0c;对应的心电图波形如下图所示&#xff0c;各个波形都对应着心脏兴奋活动的生理过程&#xff0c;包含P波&#xff0c;PR段&#xff0c;QRS波群&#xff0c;ST段&#xff0c;T波&#xff0c;U波。 &#xff08;1&#xff09;P波心电图中…

OpenBMC相关的网站

openbmc官方网站 https://github.com/openbmchttps://github.com/openbmc Dashboard [Jenkins]https://jenkins.openbmc.org/ https://gerrit.openbmc.org/Gerrit Code Reviewhttps://gerrit.openbmc.org/ Searchhttps://grok.openbmc.org/ openbmc参考网站 https://www.c…