Angular4 中内置指令的基本用法


Posted in Javascript onJuly 31, 2017

前言

大家都知道ng内置了许多自定义的指令,这避免了我们自己去造轮子。同时,ng也提供了自定义指令的功能,可以让我们的页面元素标签更加实例化。

在这篇文章中,我们将分别列举每一个内置指令的用法,并提供一个例子作为演示。尽量用最少最简单的描述,让你在更快更准确地学会每一种内置指令的基本用法。

ngFor

作用:像 for 循环一样,可以重复的从数组中取值并显示出来。

例子:

// .ts

this.userInfo = ['张三', '李四', '王五'];

// .html

<div class="ui list" *ngFor="let username of userInfo">
 <div class="item">{{username}}</div>
</div>

讲解:

他的语法是 *ngFor="let username of userInfo" ,其中 userInfo 是从中取值的数组,username 是每次从中取出来的值。然后在这个标签里面的内容就会重复执行,并通过双向绑定,将 username 显示出来。

ngIf

作用:根据条件决定是否显示或隐藏这个元素。

例子:

// .html

<div *ngIf="false"></div>
<div *ngIf="a > b"></div>
<div *ngIf="username == '张三'"></div>
<div *ngIf="myFunction()"></div>

讲解:

  • 永远不会显示
  • 当 a 大于 b 的时候显示
  • 当 username 等于 张三 的时候显示
  • 根据 myFunction() 这个函数的返回值,决定是否显示

ngSwitch

作用:防止条件复杂的情况导致过多的使用 ngIf。

例子:

// .html

<div class="container" [ngSwitch]="myAge">
 <div *ngSwitchCase="'10'">age = 10</div>
 <div *ngSwitchCase="'20'">age = 20</div>
 <div *ngSwitchDefault="'18'">age = 18</div>
</div>

讲解:

[ngSwitch] 先与目标进行绑定,ngSwitchCase 列出每个可能性,ngSwitchDefault 列出默认值。

ngStyle

作用:可以使用动态值给特定的 DOM 元素设定 CSS 属性。

例子:

// .ts
backColor: string = 'red';

// .html
<div [style.color]="yellow">
 你好,世界
</div>
<div [style.background-color]="backColor">
 你好,世界
</div>
<div [style.font-size.px]="20">
 你好,世界
</div>
<div [ngStyle]="{color: 'white', 'background-color': 'blue', 'font-size.px': '20'}">
 你好,世界
</div>

讲解:

  • 直接设置颜色为 yellow。
  • 设置背景颜色为 backColor,并可以在 .ts 文件中对 backColor 的值进行修改。
  • 设置字体大小,需要注意的是 只写 font-size 会报错,必须在后面加上 .px。当然 .em .% 都是可以的。
  • 前三种都是只设置一个,写 [ngStyle] 可以同时写多个,使用花括号包住里面的内功。需要注意的是连字符 - 是不允许出现在对象的键名当中的,如果使用 background-color 等时需要加上单引号。

ngClass

作用:动态地设置和改变一个给定 DOM 元素的 CSS类。

例子:

// .scss
.bordered {
 border: 1px dashed black;
 background-color: #eee;
}

// .ts
isBordered: boolean = true;
 
// .html
<div [ngClass]="{bordered: isBordered}">
 是否显示边框
</div>

讲解:

  • scss 中设置了样式,相当于你建了一个 class="bordered"
  • ts 中新建了一个 isBordered,用于判断是否显示 .scss 中的样式。
  • html 中用 isBordered 作为 bordered 是否显示 的判断依据。

ngNonBindable

作用:告诉 Angular 不要绑定页面的某个部分。

例子:

.html

<div ngNonBindable>
 {{我不会被绑定}}
</div>

讲解:

使用了 ngNonBindable ,花括号就会被当做字符串一起显示出来。

总结

日常开发中,用 ngFor 和 ngIf 应该是最多的了,所以把他们两个写在了前面。至于 ngNonBindable,我实际开发中一次没用过,也是查着资料测试一遍写下来的。

好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持

Javascript 相关文章推荐
js取得url地址参数实例
Feb 22 Javascript
jquery实现漂浮在网页右侧的qq在线客服插件示例
May 13 Javascript
jQuery对Select的操作大集合(收藏)
Dec 28 Javascript
jQuery 取值、赋值的基本方法整理
Mar 31 Javascript
JavaScript中的原型链prototype介绍
Dec 30 Javascript
Javascript实现检测客户端类型代码封包
Dec 03 Javascript
angularjs中ng-attr的用法详解
Dec 31 Javascript
ActiveX控件的使用-js实现打印超市小票功能代码详解
Nov 22 Javascript
vue权限管理系统的实现代码
Jan 17 Javascript
JS中call()和apply()的功能及用法实例分析
Jun 28 Javascript
JavaScript变量基本使用方法实例分析
Nov 15 Javascript
vue路由的配置和页面切换详解
Sep 09 Javascript
详谈ES6中的迭代器(Iterator)和生成器(Generator)
Jul 31 #Javascript
浅谈对Angular中的生命周期钩子的理解
Jul 31 #Javascript
Bootstrap Table 在指定列中添加下拉框控件并获取所选值
Jul 31 #Javascript
vue组件 $children,$refs,$parent的使用详解
Jul 31 #Javascript
Kindeditor单独调用单图上传增加预览功能的实例
Jul 31 #Javascript
Kindeditor单独调用多图上传实例
Jul 31 #Javascript
老生常谈ES6中的类
Jul 31 #Javascript
You might like
用PHP动态生成虚拟现实VRML网页
2006/10/09 PHP
php intval的测试代码发现问题
2008/07/27 PHP
memcache命令启动参数中文解释
2014/01/13 PHP
php文件操作小结(删除指定文件/获取文件夹下的文件名/读取文件夹下图片名)
2016/05/09 PHP
PHP读取并输出XML文件数据的简单实现方法
2017/12/22 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
2020/02/23 PHP
JS判断是否360安全浏览器极速内核的方法
2015/01/29 Javascript
JS实现的文字与图片定时切换效果代码
2015/10/06 Javascript
简单封装js的dom查询实例代码
2016/07/08 Javascript
AngularJS表单详解及示例代码
2016/08/17 Javascript
jQuery实现移动端Tab选项卡效果
2017/03/15 Javascript
nodejs个人博客开发第二步 入口文件
2017/04/12 NodeJs
微信小程序实现给循环列表添加点击样式实例
2017/04/26 Javascript
vue自定义全局共用函数详解
2018/09/18 Javascript
5分钟教你用nodeJS手写一个mock数据服务器的方法
2019/09/10 NodeJs
mpvue实现小程序签到金币掉落动画(api实现)
2019/10/17 Javascript
VUE+Element实现增删改查的示例源码
2020/11/23 Vue.js
详解JavaScript中分解数字的三种方法
2021/01/05 Javascript
docker django无法访问redis容器的解决方法
2019/08/21 Python
Python使用random模块生成随机数操作实例详解
2019/09/17 Python
Python3 assert断言实现原理解析
2020/03/02 Python
基于Python pyecharts实现多种图例代码解析
2020/08/10 Python
python如何发送带有附件、正文为HTML的邮件
2021/02/27 Python
整理HTML5中支持的URL编码与字符编码
2016/02/23 HTML / CSS
洛杉矶健身中心女性专用运动服饰品牌:Marika
2018/05/09 全球购物
Beauty Expert美国/加拿大:购买奢侈美容产品
2018/12/05 全球购物
新员工培训个人的自我评价
2013/10/09 职场文书
同学聚会策划方案
2014/06/06 职场文书
副乡长民主生活会个人对照检查材料思想汇报
2014/10/01 职场文书
李白故里导游词
2015/02/12 职场文书
运动会报道稿大全
2015/07/23 职场文书
智慧人生:永远不需要向任何人解释你自己
2019/08/20 职场文书
php 防护xss,PHP的防御XSS注入的终极解决方案
2021/04/01 PHP
解决jupyter notebook图片显示模糊和保存清晰图片的操作
2021/04/24 Python
python保存大型 .mat 数据文件报错超出 IO 限制的操作
2021/05/10 Python
Mysql外键约束的创建与删除的使用
2022/03/03 MySQL