• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Angular样式绑定ngClass和ngStyle的使用

武飞扬头像
PHP中文网
帮助104

项目场景:

前端开发中经常会遇到这样一种情况:不同的页面会共用同一段代码,同时我们要根据页面的具体信息或者某种操作(例如点击某个按钮)去决定是否展示这段代码或使页面样式做出一定的改变,这时就用到我们angular中的样式绑定!


问题描述

公用的代码片段(修改前):

<div class="normalTxt">      
	<span >I love angular</span>         
</div>

原因分析:

1.[ngStyle]

<any [ngStyle]=“obj”>

说明:

  • any代表样式绑定的标签类型可以是任何类型,比如是div,p,span等等都行。
  • 在这里插入代码片ngStyle绑定的值必须是一个对象。
  • 对象属性就是css样式名,对象的值是具体的样式。

简单用法(html文件):

//将这段div的背景色改为绿色
<div [ngStyle]="{'background-color':'green'}">
xxxx
</div>

复杂用法(html文件):

//如果当前页面为主页则将背景色改为绿色,否则改为红色
<div [ngStyle]="{'background-color':pageName== 'homepage' ? 'green' : 'red' }">
xxxx
</div>

2.[ngClass]

<any [ngClass]=“obj”>

说明:

  • any代表样式绑定的标签类型可以是任何类型,比如是div,p,span等等都行。
  • ngClass绑定的值必须是一个对象。
  • 对象属性就是 class名,属性值为boolean类型结果只能为true/false,true的话该class就出现,否则该class不出现。

简单用法(html文件):

//使用.homepageText样式
<div [ngClass]="{'homepageText':true}">
xxxx
</div>

复杂用法(html文件):

//当页面名称是homepage时使用.homepageText样式,否则不使用
<div [ngClass]="{'homepageText':pageName =='homepage'}">
xxxx
</div>

(css文件):

.homepageText {    
font-size: 14px;
font-weight: bold;
}

解决方案:

公用的代码片段(修改后):

<div [ngClass]="{'normalTxt':pageTitle=='portal' ,'specialTxt':pageTitle=='detail'}">   
   <span>I love angular</span>         
</div>

说明:portal页面想要展示normalTxt的效果,detail页面想要展示specialTxt的效果。normalTxt和specialTxt具体样式需要我们在相应的.css/.scss文件里添加。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanfeebk
系列文章
更多 icon
同类精品
更多 icon
继续加载