Angular7教程-04-Angular常用操作(下)
6. 数据双向绑定
视图和数据,只要一方发生变化,另一方跟着变化。
好处是不需要在代码中手动更新视图,简化开发,增加代码内聚性,代码可读性更强。
缺点是当绑定的数据层次深、数据量大时,会影响性能。
双向数据绑定的语法是[(x)].
修改article.component.html中的内容如下:
<input type="text" [(ngModel)] = "content">
{{content}}
当在input框中输入内容时,插值表达式的位置内容会同时改变。在使用ngModel时需要在app.module.ts中增加FormsModule的引用。修改app.module.ts的内容如下:
//在文件头部增加如下一行:
import {FormsModule} from "@angular/forms";
//在imports中增加FormsModule
imports: [
BrowserModule,
FormsModule
]
7. angular指令操作
7.1 判断指令
7.1.1 不带else分支的if指令
article.component.ts中定义一个布尔类型的值,然后定义一个函数,如下:
export class ArticleComponent implements OnInit {
status = false;
changeStatus(){
this.status = true;
}
}
article.component.html定义内容如下:
<button class="btn btn-sm btn-info" (click)="changeStatus()">更改状态</button>
<p *ngIf="status">
默认状态下这段话是不显示的,因为status值为false,当单击上面的按钮,
把status的值设为true时,这段话才显示。
</p>
则页面显示效果如<p>标签中的内容所示。
7.1.2带else分支的if指令
修改article.component.ts的内容如下:
<p *ngIf="status;else p1">
默认状态下这段话是不显示的,因为status值为false。
</p>
<ng-template #p1>
<p>如果上面那段话不显示,则表示执行else逻辑,显示这一段话。</p>
</ng-template>
则页面上初始化时只显示第二段话,表明执行的是else逻辑。ng-template指令后面会讲到。
7.2 样式指令
下面是内联样式和类样式的写法:
<style>
.bg{
background-color: pink;
}
</style>
<p [ngClass]="{bg:true}">这段内容应用的是类样式。</p>
<p [ngStyle]="{backgroundColor:getColor()}">本段内容样式是内联样式。</p>
页面显示效果如下:

7.3 循环指令
article.component.ts中定义一个数组:
export class ArticleComponent implements OnInit {
articles = ['第一篇文章','第二篇文章', '第三篇文章']
}
article.component.html中通过循环指令输出数组内容:
<p *ngFor="let article of articles; let i = index">
{{i}} - {{article}}
</p>
其中的i为循环下标。页面效果如下所示:

ng-template的说明
ng-template指令用来定义模板,如下代码所示:
<ng-template #p1>
<p>段落内容</p>
</ng-template>
上面定义了一个简单的模板,id为p1,别的地方可以通过id来引用这个模板。
Angular7教程-04-Angular常用操作(下)的更多相关文章
- python对redis的常用操作 下 (无序集合,有序集合)
无序集合: 首先介绍增加,删除和获得所有元素的方法.我将会用第二部分来讨论集合的特殊操作: In [136]: x.sadd("challenge", 1,2,3,4,5,6,7, ...
- Angular7教程-06-页面与数据交互
1. 本节说明 本节的内容会在上期搭建的框架基础上进行数据的填充,顺便回顾之前介绍过的插值表达式,属性绑定等知识,本节的数据只是在组件中模拟数据,后面会有专门的章节讲解如何从服务器获取数据. 2. 轮 ...
- Angular7教程-05-搭建项目环境
1. 本节说明 本节以及后面的内容我们将会通过搭建一个简单的博客程序来对angular进行介绍,项目使用前端框架是bootstrap.版本v3.3.7,另外需要安装jquery.关于bootstrap ...
- linux下关于gz和bz2压缩格式的常用操作技巧
.gz和.bz2都是linux下压缩文件的格式,有点类似windows下的.zip和.rar文件..bz2和.gz的区别在于,前者比后者压缩率更高,后者比前者花费更少的时间. 也就是说同一个文件,压缩 ...
- Linux下mysql的常用操作
Linux下mysql的常用操作: 显示数据库 show databases; 选择数据库 use 数据库名; 显示数据库中的表 show tables; 显示数据表的结构 describe 表名; ...
- ubuntu下安装mysql及常用操作
1.可通过ps -ef | grep mysql命令查看系统中是否有安装mysql 如果出现类似上述的页面,就证明是已经安装过了mysql,否则就是没有. 2.安装mysql 很简单,只需要键入如下命 ...
- ubuntu的学习教程(常用操作)
摘要 最近在学习linux,把自己学习过程中遇到的常用操作以及一些有助于理解的内容记录下来.我主要用的是ubuntu系统 命令提示符 '~' 这个是指用户的家目录,用户分为root用户和普通用户,ro ...
- 网站用户行为分析——在Ubuntu下安装MySQL及其常用操作
安装MySQL 使用以下命令即可进行mysql安装,注意安装前先更新一下软件源以获得最新版本: sudo apt-get update #更新软件源 sudo apt-get install mysq ...
- Linux下常用操作
************************ 镜像操作 ************************************* screen -s name 新建 screen -r name ...
随机推荐
- 状态开关(ToggleButton)
状态开关(ToggleButton): 常用属性:isChecked(是否被选中,如true) 监听:1.监听方法:setOnCheckedChangeListener 2.监听器:CompoundB ...
- 【html/css】若母div设置了透明度,如何才能使得里面的子div不继承母div的透明度
用rgba的方式给母div设置透明度的话就不会影响子div的透明度了. 例: background: rgba(51, 51, 51, 0.5);
- Python 获得汉字笔画
通过unihan的文件来实现. 只要是unihan中有kTotalStrokes字段,获取其笔画数. Hash也是非常简单清楚的,但想到这些unicode其实会有一个分布规律,就记录了一下, 利用此性 ...
- MySQL允许root远程访问
1. mysql -u root -p; // 登录mysql, 并输入密码 2. use mysql; // 打开 mysql 数据库 3. update user ...
- MySQL 练习题2
CREATE TABLE `dept` ( `did` ) NOT NULL AUTO_INCREMENT, `dname` ) DEFAULT NULL, `address` ) DEFAULT N ...
- VISO画UML用例图添加Include关系的方法
VISO画UML用例图添加Include关系的方法 今天用Microsoft Visio 2007画用例图时,发现visio UML用例里面找不到include关系,查到一个可行的解决办法: 1)创 ...
- Linux中脚本的使用方法
Linux中脚本的使用方法 一.前言 关于Linux中的脚本的用法,一直没有时间去好好地总结,正好今天下雨,就好好的整理一下思路吧,其实精通了一门语言,比如C语言,学习其他语言需要的成本是非常少的,同 ...
- Azure 负载均衡器介绍
您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn. Azure 负载均衡器 ...
- [DBSDFZOJ 多校联训] Password
Password password.in/.out 描述 你来到了一个庙前,庙牌上有一个仅包含小写字母的字符串 s. 传说打开庙门的密码是这个字符串的一个子串 t,并且 t 既是 s 的前缀又是 s ...
- apt安装mysql
使用 APT 安装 MySQL 参考官方文档 apt-get install mysql-server 这将安装MySQL服务器的包,以及客户端和数据库公共文件的包. 在安装过程中,系统会要求您为ro ...