javascript - 在 Polymer 2.0 中动态更改样式

标签 javascript css polymer web-component polymer-2.x

我正在编写一个概念验证 Polymer 2.0 Web 组件,我想根据用户输入更改一段文本的颜色。

我尝试过使用 Polymer 2.0 的 this.updateStyles({...}) 和 Polymer.updateStyles({...}) 但都没有更新输出的文本。

例如

Polymer.updateStyles({'--tool-colour': 'green'});

我写了一个 plunker 来演示这个问题 here .

我可能错过了一些简单的事情,有人可以帮助我吗?

最佳答案

我自己是这样做的:

<template>
    <style>
        .green-icon {
            color: var(--green-color);
        }
        .red-icon {
            color: var(--red-color);
        }
    </style>
    <my-element class$="[[computeIconColor(boolProp)]]"></my-element>
</template>

然后在脚本中:

computeIconColor(boolProp) {
    if (!!boolProp) return 'green-icon';
    return 'red-icon';
}

关于javascript - 在 Polymer 2.0 中动态更改样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44830548/

相关文章:

javascript - 根据区域设置显示日期和月份,不显示年份

html - 左列固定宽度,右列高度;右列流体宽度

具有渐变和渐变轮廓的 CSS 文本

javascript - 尝试在 p5.js 中调用多行字符串时出现 TypeError

javascript - C3js堆叠条形图,每个条形部分有多个数据

javascript - 如何使用具有相同名称的复选框显示/隐藏选项卡部分?

javascript - Paper 工具栏 javascript 没有反应

html - 在 Orchard CMS 中导入 html

android - polymer 核心覆盖层不再滚动

javascript - 使用异步 js 迭代数组并在回调中执行函数以返回单个结果