Angular4 中内置指令的基本用法

发布时间 - 2026-01-11 02:34:26    点击率:

前言

大家都知道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,我实际开发中一次没用过,也是查着资料测试一遍写下来的。

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


# angularjs4  # 指令  # angular  # 内置指令  # angular4  # angular4笔记系列之内置指令小结  # 绑定  # 的是  # 都是  # 你好  # 就会  # 自定义  # 需要注意  # 中取  # 好了  # 在这个  # 大家都  # 让我们  # 多个  # 在这  # 最多  # 出现在  # 是从  # 一遍  # 我不会  # 三种 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  如何快速配置高效服务器建站软件?  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  Laravel如何配置任务调度?(Cron Job示例)  laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  如何在IIS中新建站点并配置端口与IP地址?  Python文件异常处理策略_健壮性说明【指导】  企业网站制作这些问题要关注  Swift中switch语句区间和元组模式匹配  Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布  如何在IIS服务器上快速部署高效网站?  Mybatis 中的insertOrUpdate操作  Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】  昵图网官网入口 昵图网素材平台官方入口  开心动漫网站制作软件下载,十分开心动画为何停播?  Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案  Laravel Session怎么存储_Laravel Session驱动配置详解  Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  如何在腾讯云服务器上快速搭建个人网站?  Laravel如何创建自定义Facades?(详细步骤)  南京网站制作费用,南京远驱官方网站?  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  javascript中数组(Array)对象和字符串(String)对象的常用方法总结  如何在腾讯云免费申请建站?  Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置  Bootstrap CSS布局之列表  网站制作壁纸教程视频,电脑壁纸网站?  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  Laravel如何升级到最新版本?(升级指南和步骤)  Linux网络带宽限制_tc配置实践解析【教程】  php json中文编码为null的解决办法  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  Laravel如何实现数据库事务?(DB Facade示例)  Laravel如何配置和使用缓存?(Redis代码示例)  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  魔方云NAT建站如何实现端口转发?  清除minerd进程的简单方法  🚀拖拽式CMS建站能否实现高效与个性化并存?  Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】  JavaScript如何实现错误处理_try...catch如何捕获异常?  网易LOFTER官网链接 老福特网页版登录地址  详解Android中Activity的四大启动模式实验简述  如何快速建站并高效导出源代码?