首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用函数将角HostBinding css类设置为值?

用函数将角HostBinding css类设置为值?
EN

Stack Overflow用户
提问于 2018-04-17 16:55:33
回答 2查看 4.4K关注 0票数 1

我有一个使用@HostBinding设置类的组件:

@HostBinding('class.dark-1') true;

效果很好。但是,现在我需要在组件中创建一个函数来动态地更改类。

例如,当单击组件中的按钮时,从dark-1light-2

我知道如何创建函数并从按钮调用它,但是如何更改主机绑定中的类并使用新类刷新UI呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-04-17 17:05:31

辛普公司给它起了一个财产名称:

代码语言:javascript
复制
@HostBinding('class.dark-1') isDark = true;

然后你可以改变它:

代码语言:javascript
复制
this.isDark = false;

或者更改整个className:

代码语言:javascript
复制
@HostBinding('class') className = 'dark-1';

this.className = 'light-1';
票数 0
EN

Stack Overflow用户

发布于 2018-04-17 17:05:21

单击该按钮时,可以切换clicked标志,并使用getters设置类:

代码语言:javascript
复制
@HostBinding("class.dark-1") public get classDark1() {
    return !this.clicked;
}

@HostBinding("class.light-2") public get classLight2() {
    return this.clicked;
}

private clicked = false;

public onClick() {
    this.clicked = true;
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49883601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档