当前位置: 首页 > news >正文

【angular19】入门基础教程(四):默认的css隔离作用域

众所周知,在vue和react框架中,我们css都是全局作用域的,如果不显示声明为私有的组件级别作用域,会影响到全局的布局样式。
所以在vue中,需要配置scoped这样的属性来限制css的作用范围,在react中相对来说要复杂点,css module或者第三方的styled-component解决方案是比较常见的

效果展示

在这里插入图片描述

代码实现

  • 父组件
import {Component,signal,computed,effect,inject,Injector,untracked,
} from '@angular/core';
import { ChildComp } from '../ChildComp1/index';@Component({selector: 'UserProfile',templateUrl: './index.html',styleUrls: ['./index.css'],imports: [ChildComp],
})
export class UserProfile {}
<main class="main-box"><h2>{{title}}</h2><div><p>{{userInfo.name}}</p><p>{{userInfo.age}}</p><p>{{userInfo.sex}}</p><p>{{userInfo.address.city}}</p><p>{{userInfo.address.street}}</p><button (click)="handleChangeName()">改变姓名</button><p>我银行账户的存款:{{money()}}</p><p>需要换银行的贷款:{{payload()}}</p><button (click)="handleChangeAge()">改变存款</button><button (click)="reset()">重置</button><!-- <button (click)="handleChangePayload()">降低贷款</button> --><child-comp /></div>
</main>
  • 子组件
<div class="main-box"><h2>{{title}}</h2>
</div>
import { Component } from '@angular/core';
@Component({selector: 'child-comp',templateUrl: './index.html',styleUrls: ['./index.css'],
})
export class ChildComp {title = 'child-demo';
}

如何禁用这种默认的组件级别样式

先看效果
在这里插入图片描述

在ng中也考虑到了这个问题,也给我们三种配置样式作用域

  • ViewEncapsulation.Emulated 默认的效果
  • ViewEncapsulation.ShadowDom 此模式严格保证只有该组件的样式才应用于组件模板中的元素。
  • ViewEncapsulation.None 与组件关联的任何样式都表现为全局样式。
    在这里插入图片描述
    在这里插入图片描述
    这样就实现了样式的全局作用域

原理分析

可以看到ng在组件编译后,自动给组件的类名加上了指纹,类似于css的module和vue中的scoped效果,成为了私有的组件级别的类型。

相关文章:

  • 项目三 - 任务1:采用面向对象方式求三角形面积
  • Tauri 跨平台开发指南及实战:用前端技术征服桌面应用(合集-万字长文)
  • Javascript 中作用域的理解?
  • 【AI提示词】第一性原理
  • k8s学习笔记
  • 2025年KBS新算法 SCI1区TOP:长颖燕麦优化算法AOO,深度解析+性能实测
  • 【计算机视觉】深度解析MediaPipe:谷歌跨平台多媒体机器学习框架实战指南
  • 海外App数据隐私架构实战:构建GDPR、CCPA合规的全栈解决方案
  • 打造美观 API 文档:Spring Boot + Swagger 实战指南
  • 案例速成GO+Socket,个人笔记
  • Linux 服务管理两种方式service和systemctl
  • 《数学物理方程》——第一章 引入与基本概念
  • AGILE:开启LLM Agent强化学习的创新框架
  • 【dify—3】拉取镜像、本地访问dify
  • AimRT 从零到一:官方示例精讲 —— 六、pb_chn示例.md
  • 香港科技大学广州|可持续能源与环境学域博士招生宣讲会—四川大学专场
  • 【Fifty Project - D20】
  • 【自然语言处理与大模型】LangChain大模型应用框架入门②
  • 8分钟快速掌握Markdiwn
  • 阿里Qwen3 8款模型全面开源,免费商用,成本仅为 DeepSeek-R1 的三分之一
  • 美国关税压力下,日本经济一年来首次萎缩
  • 马上评|这种“维权”已经不算薅羊毛,涉嫌犯罪了
  • 河南省委常委会会议:坚持以案为鉴,深刻汲取教训
  • 今年前4个月上海对拉美国家进出口总值增长2%
  • 新能源汽车,告别混乱创新
  • 中保协发布《保险机构适老服务规范》,全面规范保险机构面向老年人提供服务的统一标准