首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

将函数作为条件传入[ngClass] - Angular 7

将函数作为条件传入[ngClass]是Angular 7中的一个特性,它允许我们根据函数的返回值来动态地添加或移除CSS类。

在Angular中,[ngClass]是一个指令,用于动态设置元素的CSS类。通常情况下,我们可以直接将一个字符串或字符串数组传递给[ngClass],来指定要添加的CSS类。但是,我们也可以将一个函数作为条件传递给[ngClass],根据函数的返回值来决定是否添加某个CSS类。

具体实现时,我们需要在组件中定义一个函数,该函数的返回值决定了是否添加某个CSS类。然后,我们可以将该函数作为条件传递给[ngClass],并在模板中使用它。

以下是一个示例:

在组件中定义一个函数:

代码语言:txt
复制
// 在组件中定义一个函数,根据条件返回一个布尔值
isHighlighted(): boolean {
  // 根据某个条件判断是否需要添加highlight类
  return this.someCondition;
}

在模板中使用该函数:

代码语言:txt
复制
<!-- 使用函数作为条件传入[ngClass],根据函数的返回值来决定是否添加highlight类 -->
<div [ngClass]="{'highlight': isHighlighted()}">Some content</div>

在上述示例中,我们定义了一个名为isHighlighted的函数,根据某个条件判断是否需要添加highlight类。然后,我们将该函数作为条件传递给[ngClass],并在模板中使用它来决定是否添加highlight类。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 腾讯云函数计算(云函数):https://cloud.tencent.com/product/scf
  • 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云云数据库 MySQL 版(CDB):https://cloud.tencent.com/product/cdb
  • 腾讯云云原生容器服务(TKE):https://cloud.tencent.com/product/tke
  • 腾讯云云安全中心(SSC):https://cloud.tencent.com/product/ssc
  • 腾讯云音视频处理(VOD):https://cloud.tencent.com/product/vod
  • 腾讯云人工智能(AI):https://cloud.tencent.com/product/ai
  • 腾讯云物联网开发平台(IoT):https://cloud.tencent.com/product/iotexplorer
  • 腾讯云移动开发平台(MPS):https://cloud.tencent.com/product/mps
  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云区块链服务(BCS):https://cloud.tencent.com/product/bcs
  • 腾讯云腾讯元宇宙(Tencent Metaverse):https://cloud.tencent.com/solution/metaverse
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

基于python 列表作为参数传入函数时的测试与理解

一个列表传入函数后,会对这个列表本身产生什么改变? 这就是本文主要考察的内容。...试试下面的代码 print(list) # 输出结果为: # [3, 4, 5, 6, 7] # 可见,执行temp.pop函数后,list原本的值也受到了改变。...b(list) print(list[0]) # 最终输出: # 3 # 13 # list在b函数内的经过temp2运作后,改变的是list本身的值 # 所以,某个列表(比如这里的list)作为参数传入某个函数...补充知识:python 字典怎样当作参数传入函数里,以及在函数里的一些遍历。变量的作用域。...当然如果你想在局部改全局变量的话,你可以先声明这个变量是全局变量globle,然后在进行更改 以上这篇基于python 列表作为参数传入函数时的测试与理解就是小编分享给大家的全部内容了,希望能给大家一个参考

3.7K20
  • NG2.4.10升级NG4正式版:修正AOT打包报错的一些问题

    [ngClass]="{ 'has-danger': form.controls.RuleContent.controls.FenceName.invalid && form.controls.RuleContent.controls.FenceName.value...form.controls.RuleContent.controls.FenceName.valid && form.controls.RuleContent.controls.FenceName.value }" // v4的支持且AOT不报错的 [ngClass...:Supplied parameters do not match any signature of call target 这个问题的原因所在,就是平时代码不严谨造成的; 比如你在html声明了一个函数...复制代码 import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';...$event,你这对应的函数没有传入对应的形参 // 空参就会报这个错误,因为之前觉得这只是作为关闭操作,传回去是个null,就不传了 // so。。

    41110

    todoMVC_mvc框架是什么

    , title: string, done: boolean }[] = JSON.parse( window.localStorage.getItem('todos') || '[]'); // 该函数是一个特殊的...angular生命周期钩子函数 // 它会在angular应用初始话的时候执行一次 ngOnInit() { window.onhashchange = () => { this.hashChangeHandler...() // 当用户点击了锚点的时候,我们需要获取当前的锚点标识 // 然后动态的根组件visibility设置为当前点击的锚点标识 //注意 bind ,不然的话this就变成window了 window.onhashchange...= this.hashChangeHandler.bind(this) } } // 当angular组件数据发生改变的时候,ngDoCheck钩子被触发 // 在钩子函数中持久化数据 ngDoCheck...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站立刻删除。

    78110

    Angular 2 + 折腾记 :(2)初步认识angular2,不一样的开发模式

    ---- 基础概念 国内的官网--基础 词汇表(又名计算机术语--angular2 & es6 & es7) 速查表:又名demo写法表,里面涵盖了很多写法,相当于一本小字典 关于ng2的一堆为什么:... 复制代码 main.ts // 引入生产模式,控制关闭开发模式的,函数来的 import { enableProdMode } from '@angular...[不完全等同于js条件表达式]或者方法亦或者变量, (click)="": 事件绑定[视图触发改变数据源],同上,支持表达式和方法。。...b : 会判断item是否有a这个值,防止undefined或者null让视图渲染报错 ---- 最最最常用的内置指令 样式绑定(ngClass) [ngClass]或者[ngStyle]:可以传递一个对象...其他的一丢丢废话:若是学会了ng2技术栈,其实你过程接触了Typescript,Rxjs,es6&7

    6.2K20

    ionic3应该善用组件和指令

    其实就是模版指令,如ngIf,当条件为true时,该元素会被添加到DOM中。其主要依赖TemplateRef和ViewContainerRef来完成操作。...TemplateRef用来访问组件的模板,而ViewContainerRef可作为视图内容渲染器,模板内容插入至DOM中。 组件 这个不必说了,我们用得最多的便是组件。...自定义属性指令 实例:创建一个bgColor属性指令,支持传入颜色名参数,设置目标标签的背景色 1)创建指令。...在构造函数constructor加上一句,赋值默认颜色: import { Directive, Input, ElementRef } from '@angular/core'; @Directive...为实现该指令,要借用TemplateRef和ViewContainerRef,TemplateRef用来访问组件的模板,而ViewContainerRef可作为视图内容渲染器,模板内容插入至DOM中。

    3.5K40

    Angular 2.x折腾记 :(2)初步认识angular2,不一样的开发模式

    main.ts // 引入生产模式,控制关闭开发模式的,函数来的 import { enableProdMode } from '@angular...{{title}} app.component.spec.ts: 测试用例,够繁琐,以后再说 app.components.ts:组件逻辑处理 // 导入装饰器:装饰器可以理解为一些函数的封装...[不完全等同于js条件表达式]或者方法亦或者变量, (click)="": 事件绑定[视图触发改变数据源],同上,支持表达式和方,特殊之处后面解释。...绑定赋值的条件表达式的特殊之处: 不支持: 赋值 (=, +=, -=, ...)...b : 会判断item是否有a这个值,防止undefined或者null让视图渲染报错 最常用的内置指令 样式绑定(ngClass) [ngClass]或者[ngStyle]:可以传递一个对象,用来动态判断增加多个样式

    10510

    AngularDart4.0 指南- 模板语法一 顶

    模板表达式不能引用静态属性,也不能引用顶层变量或函数,如来自dart:html的window 或document 。他们不能直接调用从dart:math导入的print或函数。...模板语句不能引用类的静态属性,也不能引用顶层变量或函数,如来自dart:html的window或document 。 它们不能直接调用从dart:math导入的print或函数。...元素属性(property)可能是更常见的目标,但Angular首先查看名称是否是已知指令的属性(property),如下例所示: [ngClass]...一次性字符串初始化 满足以下所有条件时,省略括号: 目标属性接受一个字符串值。 该字符串是一个固定的值,您可以拷贝到模板中。 这个初始值永远不会改变。...以下示例HeroDetailComponent的prefix属性初始化为固定字符串,而不是模板表达式。 Angular设置它并不再管它。

    5.2K10

    【玩转腾讯云】手把手教你使用VueReactAngular三大框架开发Pagination分页组件

    (FP,Functional Programming),每个React组件都是一个函数,HTML/CSS/JavaScript都在函数里面,在函数里面返回模板内容。...1) 通过props传入数据 原本我打算直接lists的值放到props中,通过外部传进来,如下: <li v-for="list in lists" :key...props参数传入,这里props进行了对象解构,直接取到了dataSource字段。...6.3.2 第1步:首/尾页翻页逻辑 增加首尾页显示条件、高亮条件和翻页功能。...框架 从外向内通讯 从内向外通讯 编程范式 列表渲染 条件渲染 事件绑定 内部状态 插槽定义方式 计算属性 监听外部传入的参数变量 Vue props $emit() 响应式 v-for指令 v-if指令

    7.8K00

    AngularDart4.0 指南- 模板语法二 顶

    以下示例有条件字体大小设置为“em”和“%”单位。 <button [style.font-size.em]="isSpecial ?...isUnchanged, 'special': isSpecial }; } <em>将</em><em>ngClass</em>属性绑定添加到currentClasses,相应地设置元素的类: <div [<em>ngClass</em>]=...它可以根据切换<em>条件</em>从几个可能的元素中显示一个元素。 <em>Angular</em>只把选中的元素放入DOM中。...例如,您可以<em>将</em>数字显示为货币,强制文本为大写,或筛选列表并对其进行排序。 对于这些小型转换来说,<em>Angular</em> 管道是一个很好的选择。 管道是简单的<em>函数</em>,它接受一个输入值并返回一个转换后的值。...使用管道运算符(|),它们很容易在模板表达式中应用: Title through uppercase pipe: {{title | uppercase}} 管道运算符<em>将</em>左边表达式的结果传递给右边的管道<em>函数</em>

    30K20

    AngularDart4.0 指南- 表单 顶

    您可以创造性地设计控件,将它们绑定到数据,指定验证规则和显示验证错误,有条件地启用或禁用特定控件,触发内置的视觉反馈等等。 Angular通过许多重复的,模板化的任务使处理过程变得简单。...顺便说一句,您可以注入数据服务来获取和保存真实数据,或者这些属性作为输入和输出(请参阅“模板语法”页面中的输入和输出属性)来绑定到父组件。 这不是现在的问题,这些未来的变化不会影响表单。...使用name和类绑定来有条件地分配适当的表单有效性类。 临时另一个名为spy的模板引用变量添加到Name 标记,并使用它显示输入的CSS类。...作为类绑定的替代方法,可以使用NgClass指令来设置控件的样式。...作为一种视觉效果,您可以隐藏数据输入区域并显示其他内容。 表单封装在中,并将其hidden属性绑定到HeroFormComponent.submitted属性。

    17.5K30

    Angular 中的数据绑定

    原文链接:Data Binding in Angular - 原文作者 Amit Dhiman 本文采用意译的方式 插值绑定: 动态的值插入到模版内容中,我们使用 {{}} 符 属性(Property...,为 HTML 元素动态添加或者移除 CSS 类名,我们分别使用 [class.class-name]="condition" 或 [ngClass]="{ 'class-name': condition...两者在 Angular 应用中都很重要,我们根据使用场景来选择使用。 事件绑定 事件绑定允许我们事件(比如按键、点击、悬停、触摸等)绑定到数组中的一个方法。它是从视图到组件的单向绑定。...} value = "" handleInput(event){ this.value = (event.target as HTMLInputElement).value; } 模板引用变量传递给函数...click)="clearValue()">Clear value = "" clearValue(){ this.value = ""; } 译者加:开篇总结的 1-7

    19810

    Angular 从入坑到挖坑 - 组件食用指南

    ,模板表达式只作为属性或方法的调用 快速执行:模板表达式得出的数据应该快速结束,否则就会对于用户体验造成影响 没有可见的副作用:模板表达式只作为数据的展示,不应该改变任何的数据;应该构建出幂等的表达式,...:用来设置元素的多个 css 类属性,如果只设置一个 css 类,应该使用模板绑定语法中 class 类绑定 NgClass 属性指令 import...="">请选择 AMD Ryzen 7 3700X <option value="i5-9400f"...,添加了三个特殊的运算符 管道运算符 管道是一种特殊的函数,可以把运算符(|)左边的数据转换成期望呈现给视图的数据格式,例如,时间进行格式化、数据转换成 json 字符串的形式等等 可以针对一个数据使用多个管道进行串联...五、组件的生命周期钩子函数angular 在创建、更新、销毁组件时都会触发组件的生命周期钩子函数,通过在组件中实现这些生命周期函数,从而介入到这些关键时刻 钩子函数 触发时机 ngOnChanges

    15.8K30

    ng 核心模块

    指定一个context给这个函数是可选的,context将作为iterator函数的this。 angular.extend 扩展目标对象dst,使用从src对象复制可枚举属性到dst。...注意:记住angular.extend不支持递归合并(深度copy)。 angular.noop 这个函数不执行任何的操作。这个函数可以用于当需要一个函数风格的代码时。...angular.bind 返回一个函数fn,绑定了self参数为这个函数的this。你可以再传递一个args参数预先绑定到这个函数上。这个特性也称为局部应用,区别与函数柯里化。...使用Angular标记类似于{{hash}}在一个href属性中,如果点击的时机早于Angular替换{{hash}}标记导致连接到错误的URL。...直到Angular替换这个标签前这个连接失败,最可能返回404错误。这个ngHref指令解决这个问题。

    1.2K10

    AngularDart 4.0 高级-结构指令 顶

    条件为false时,NgIf从DOM中删除它的宿主元素,将它从DOM事件(它所依附的)中分离出来,组件从Angular变化检测中分离出来并销毁它。 组件和DOM节点可以被垃圾收集并释放内存。...每个宿主元素一个结构指令 有一天你会想重复一段HTML,但只有当特定条件成立时才会重复。 您将尝试*ngFor和*ngIf放在同一宿主元素上。 Angular不会允许。...你在指令构造函数中注入这两个类作为类的私有变量。..._viewContainer); myUnless属性 指令消费者期望真/假条件绑定到[myUnless]。...在没有合适的宿主元素时使用作为分组元素。 Angular星号(*)语法解析为。 NgIf,NgFor和NgSwitch内置指令如何工作。

    16.1K20
    领券