html - 在 Ionic 3 中动态改变 CSS 值
问题描述
在我的应用程序中,我有可以打开的电影详细信息,我希望详细信息的按钮与电影匹配。
例如,对于电影“回到未来”,我的数据中有colors = ["#000000","#123123"]
.
如果我这样做<div [ngStyle]="{'background-color': movie?.colors[0]}">
,div 将是我想要的颜色。
我的问题是,在 Ionic 中,我怎样才能改变variables.scss
这些颜色(当我们打开新电影时更新)?
因为我们不能用自定义css修改标签,所以我必须将它添加到 variables.scss
...
解决方案
如果您想在运行时更新任何 css 颜色或值(如 font-size (如 sass 变量))以这种方式使用css 变量,如果它基于 css 变量(如我示例中的颜色),则可以在运行时更新任何 css 属性值,但是它可以是任何 CSS 值
考虑这个例子
样式.css
:root {
--color : red;
}
* {
color:var(--color)
}
应用组件
colorList = ['green', 'blue'];
updateColor(color) {
document.documentElement.style.setProperty(`--color`, color);
}
模板
<button *ngFor="let c of colorList" (click)="updateColor(c)">{{c}}</button>
sass 变量将在构建时编译为那里的值,因此它们在运行时不可重用
推荐阅读
- android - 如何使用 OpenCV 在 Android 中将原始图像转换为 RGB?
- php - 在 WooCommerce 3 中以编程方式仅设置特定产品的销售价格
- c# - 无法将类型“Program.Data.View”隐式转换为 System.linq.iqueryable
. - javascript - 禁用完整日历中的某些自定义日期范围?
- logistic-regression - 为什么在这个逻辑回归示例中 Pymc3 ADVI 比 MCMC 差?
- elasticsearch - Java REST 弹性搜索:使用 com.fasterxml.jackson.databind.ObjectMapper 的嵌套字段映射
- python - PyQt5进度条填满整个QGroupBox?
- bash - 脚本适用于文件输入,但不适用于标准输入
- 68000 - 你能用ADDA在68000中添加两个地址寄存器吗
- powershell - SYSTEM用户运行时Get-EventLog不解析消息