Angular2 模块级样式表

2024-04-01

我正在使用模块化结构设计我的网站sass /questions/tagged/sass我愿意以这样的方式组织样式表:在每个模块级别(而不是组件级别)定义样式表,然后将其导入所有组件中以保持整个模块的标准布局。

那么这是一个好方法吗?

如果是的话,有没有一种方法可以从module.ts文件到所有组件。以非常相似的方式,可以使用以下方式提供服务:providers。这将免除我在所有组件中单独导入相同 CSS 文件的痛苦。


假设我们的角度应用程序具有以下结构

+-- src
|   +-- app
|   |   +-- customer
|   |   |   +-- customer.scss
|   |   |   +-- customer.module.ts
|   |   +-- product
|   |   |   +-- product.scss
|   |   |   +-- product.module.ts
|   +-- sass
|   |   +-- _common.scss
|   |   +-- app.scss
|   |   +-- project-level-styles.scss

我们可以像这样设置项目级别的 sass 文件:

@import 'common';

// project level classes
@import 'project-level-styles';

// module level classes
@import '../app/customer/customer.scss'
@import '../app/customer/product.scss'

那么在这些customer.scss and product.scss我将拥有该模块内许多组件中通用的类。

应该注意的是,当您不在组件级别创建样式表并将其放在其他位置(例如模块或项目目录内)时,Angular 处理这些样式的方式是不同的。

角度组件样式 https://angular.io/guide/component-styles

Angular 可以将组件样式与组件捆绑在一起,从而实现比常规样式表更加模块化的设计。您放入组件样式中的选择器仅适用于该组件的模板内。

因此请注意,任何与组件无关的样式表styleUrlsarray 它可以应用于您网站中的任何元素(如果您不使用特殊性)。它不仅仅适用于该模块,因此这可能不是适合所有情况的解决方案,但这是我为我的模块所做的事情,理解这一点我可以通过定位根在该模块化样式表中编写我的样式以特定于该模块该模块的元素...

组件与全局

在我的应用程序中我的customerModule有一个名为的根组件customerComponent我在该 html 中有一个根元素,它具有以下类别:

customer-container

所以在我的里面customer.scss我可以像这样添加所有样式:

.customer-container .info-heading {
  font-size: 15px; color: #333;
}

.customer-container .section-divider {
  margin-top: 1em; border-top: 1px solid #dfdfdf;
}

因此,我现在可以实现一定程度的特异性,防止我的样式渗透到其他项目组件中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Angular2 模块级样式表 的相关文章

  • 如何使使用 css 调整大小的图像在 IE 中看起来不错?

    当使用 css 宽度 高度或属性宽度 高度缩放图像时 IE6 和 IE7 无法很好地缩放网页中的图像 我不确定它默认使用哪种算法 但这不好 在这些浏览器中缩放时 缩放图像会显示锯齿伪影 幸运的是 有一种方法可以通过简单的 css 规则强制
  • 如何使用角度材料在具有可扩展行的表格中创建嵌套垫表

    我有以下数据 id c9d5ab1a subdomain wing domain aircraft part id c9d5ab1a info mimetype application json info dependent parent
  • 如何在 Angular 4 中翻译 mat-paginator?

    你知道如何在 Angular 中翻译 每页项目 吗mat paginator标签 这mat paginator是材料设计中的一个元素 您可以使用MatPaginatorIntl为了这 威尔 豪厄尔制作 https github com an
  • 在 Angular 单个组件中导入第 3 方 javascript 库

    我目前正在开发 Angular4 应用程序 我想import some JavaScript 库 but 仅针对单个组件 目前我可以通过在里面定义它们的路径来轻松导入这个库 angular cli json像那样 scripts node
  • 将 SVG 的高度设置为行高?

    我想将我的 SVG 图像作为图标包含在标题旁边 h1 img src icon sell svg class icon Verkaufen h1 字体大小为h1 is 36px和line heigt is 1 1 我使用检查器工具发现计算出
  • React 设置背景颜色与状态 rgb

    所以我根据数据库的结果生成一个表 在数据库中我保留 rgb 值 例如 75 75 75 现在当我生成列表时 我想使用保存的值设置我的 td 的背景 tbody this state boxes map box i gt tr td box
  • 使用反增量更改 z-index

    我尝试制作一个图像滑块 当鼠标悬停在一个点上时 它将显示图片 我也尝试使用在图像之间切换z index但什么也没动 slider counter reset index 1000 slider input name slide switch
  • Angular 2 - ng 构建与 webpack 构建

    我想了解构建和部署 Angular 2 Web 应用程序的最佳方法是什么 我最终需要将其作为 Web 捆绑资源提供给我的 dropwizard 应用程序 我试图了解是否应该保留 ng build 并使用它来生成我的 dist 文件夹 或者我
  • RxJS 订阅内部订阅,每个级别返回值并存储到各自的变量中

    我知道已经有关于嵌套订阅的帖子 在这里 我们有 5 个级别的订阅操作 每个变量 operationId actionlistId componentId traceId 这里 API 正在调用 其功能如下 Step 1 订单模板 ID 为a
  • 角度 2 通道数组到自定义验证器(模板驱动形式)

    我需要将一个对象数组传递给 a2 自定义验证器 然后我想根据该数组中的记录验证模板驱动表单字段的值 但是我无法检索验证器内的对象 我唯一能看到的是它的名称作为字符串 如有任何帮助 我们将不胜感激
  • 如何在不使用变换或顶部/左侧的情况下转换列表中项目的位置

    有一天我偶然发现一个例子 https codepen io itslit pen gvKrMY它使用 Vue js 但我的问题更多是关于 Vue 用于实现状态之间转换的 CSS 和 HTML 卡片暂时获得等级 shuffleMedium m
  • 如何在有序列表中组合数字和字母?

    如何在 CSS 中用数字和字母递增有序列表 ol nested margin bottom 0 counter reset item ol nested li display block position relative ol neste
  • 如何隐藏div元素中太长的文本?

    如何隐藏 div 中的溢出 如果文本比 div 长 则文本将换行到新行 div style width 50px border 1px solid black test test test test div 也许是 CSS 属性text o
  • 使用 css 简单地将对象居中,无需修改

    我想使用 CSS 将对象居中 而不需要任何技巧 这可能吗 如何实现 我已经尝试过了 但是我的 p 标签消失了 centered position fixed top 50 left 50 有多种方法可以使元素居中 但这取决于您的元素是什么以
  • 响应式图像 - srcset 和尺寸属性 - 如何正确使用两者:基于设备像素比和基于视口的选择一起?

    到目前为止 我经常读到这个问题 并且它也发生在我自己的项目中 这里介绍一下我到目前为止所发现的关于 srcset 和 size 属性的内容 关于如何使用有两种不同的可能性srcset 属性 来源 w3c http w3c github io
  • 使用 CSS 或 Javascript 填充动画

    我只是想知道是否可以使用 CSS 或 javascript 创建填充动画 基本上我想创建一个填充动画 如下图所示 http i40 tinypic com eit6ia png http i40 tinypic com eit6ia png
  • 如何创建适合屏幕宽度的等宽/高框? [复制]

    这个问题在这里已经有答案了 我正在尝试建立一个网站 其中有很多宽度和高度相等的框 例如 我有一个页面 其中并排有两个相同大小的框 简单的解决方案是将宽度和高度设置为 50vw 这在出现滚动条之前效果很好 我已经用谷歌搜索了几个小时 但无法理
  • 在 HTML 下拉列表中有一个滚动条

    我正在寻找一种在 HTML 的下拉列表中添加滚动条的方法 这样如果下拉列表包含的内容超过例如 5 项 将出现滚动条以查看其余项 这是因为我将被迫列出一些大清单 过去几个小时我一直在谷歌上搜索它 但没有运气 它需要适用于 IE8 FF 和 C
  • 表格行未扩展到全宽

    我有一个表格 当我将表格的宽度设置为 100 并将表格行的宽度设置为 100 时 没有任何反应或宽度发生变化 Table Normal position relative display block margin 10px auto pad
  • 如何确定所有角度2分量都已渲染?

    当所有 Angular2 组件完成渲染时 是否会触发一个角度事件 For jQuery 我们可以用 function 然而 对于 Angular2 当domready事件被触发 html 只包含角度组件标签 每个组件完成渲染后 domrea

随机推荐

  • 如何在电报机器人中管理更多用户?

    我用 python 做了一个电报机器人 它发送如下消息 if message start bot sendMessage chat id Insert your name a name if a name and message start
  • 崇高改变highlight_modified_tabs的颜色?

    In Sublime Text 2编辑器中 我们可以使用以下命令更改 修改 编辑选项卡 的 文本颜色 highlight modified tabs true像那样 有用 但它是鲜红色的 我该如何改变text color of it 这些设
  • 如何在 Rails 中拥有不同的环境变量值?

    这就是我跑步的方式rails console命令 COMPANY b2b RAILS ENV development DEPLOY ENV localhost rails console 相反 我只想跑步rails console通过在内部
  • Java 将枚举编译成什么?

    我和一位同事讨论了 Java 如何表示枚举 我的印象是它们是严格的整数 就像 C C 一样 或者 如果您添加行为 类型安全枚举 它将被包装在一个类中 他相信如果它足够小 Java 会将其压缩为一个字节 不过 我在 Oracle 网站上发现了
  • 组织依赖项目的最佳方式?

    我有一组依赖于其他项目 你可以说实用程序 的项目 问题是每次我更改这些实用程序中任何一个的代码时 我的同事都需要采用最新的代码并在他们的计算机上构建以使用最新的代码组件 有没有好的标准溶液 或者只是将 dll 集中在共享文件夹中 P S 我
  • 谷歌地图 API 点标记

    目前我使用 StyledMarker 图标 带有自定义颜色的默认气泡图标 但我发现有些网站使用更紧凑的 点 点标记的图片 http 3 bp blogspot com kgIKcUsffkA TspZ9QrlraI AAAAAAAAAZc
  • com.google.gson.JsonPrimitive 无法转换为 com.google.gson.JsonObject

    我有一个来自 PHP 的 json 列表 Json test 1 message try it test 2 message try it test 3 message try it final error gt 1 json gt jso
  • 为什么路由不能与 ElasticSearch Bulk API 一起使用?

    我正在向 ElasticSearch 设置批量请求并指定要路由到的分片 但是当我运行它时 文档会被发送到不同的分片 这是 ElasticSearch 批量中的错误吗 当我只索引单个文档时它就有效 当我搜索时它有效 但当我进行批量导入时则不然
  • 如何在混合移动应用程序中实施 Google Analytics?

    我正在使用 HTML5 CSS 和 jQuery Mobile 编写一个混合移动应用程序 我将使用 Cordova Js 将 HTML5 应用程序转换为适用于 iOS 和 Android 的本机移动应用程序 我想使用 Google Anal
  • vim 有 C++11 语法文件吗?

    特别是初始化列表的显示非常糟糕 vector
  • 为什么 vue v-model 不适用于数组 prop?

    我有一个自定义组件 它采用modelValue道具并发出update modelValue事件 在父组件中 我传递一个数组 测试组件 vue
  • Azure 服务总线“发送”抛出由于对象的当前状态而导致操作无效

    我不确定发生了什么变化 但突然我得到一个 InvalidOperationException 由于对象的当前状态 操作无效 我的代码以前确实有效 但我不记得更改过任何内容 我正在使用 Microsoft Azure ServiceBus 4
  • 创建 d3.js SVG 文本元素后获取其宽度

    我正在尝试获取一堆的宽度text我用 d3 js 创建的元素 这就是我创建它们的方式 var nodesText svg selectAll text data dataset enter append text text function
  • 如何在会话中运行多个图 - Tensorflow API

    张量流API https github com tensorflow models tree master research object detection提供了一些预先训练的模型 并允许我们使用任何数据集来训练它们 我想知道如何在一个张
  • 在 Pydroid 3 终端中安装 Git

    我正在使用 Pydroid3 并且想在 Pydroid 终端中使用 Git 在我的 Termux 终端中 我能够按照此处所述安装 Git git 命令现在只能在 Termux 终端中识别 但不能在 Pydroid 中识别 无法在 Pydro
  • Keras/Tensorflow 中涉及梯度的自定义损失函数

    我发现这个问题之前已经被问过几次了 但没有任何解决方案 我的问题很简单 我想实现一个损失函数 它计算预测梯度和真值之间的 MSE 最终转向更复杂的损失函数 我定义了以下两个函数 def my loss y true y pred x dyd
  • 自定义警报对话框边框

    我正在创建一个自定义对话框 其示例代码为 final AlertDialog dialog protected AlertDialog createDialog int dialogId AlertDialog Builder builde
  • 如何设计深度卷积神经网络? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 据我了解 所有 CNN 都非常相似 它们都有一个卷积层 后面是池化层和 relu 层 有些具有专门的层 例如 FlowNet 和 Segn
  • Iphone 迭代 NSString 的子字符串出现次数

    我想找到 NSString 中所有出现的子字符串 并逐一迭代以对该 NSString 进行一些更改 我该怎么做呢 怎么样 find first occurrence of search string in source string NSR
  • Angular2 模块级样式表

    我正在使用模块化结构设计我的网站sass questions tagged sass我愿意以这样的方式组织样式表 在每个模块级别 而不是组件级别 定义样式表 然后将其导入所有组件中以保持整个模块的标准布局 那么这是一个好方法吗 如果是的话