为什么我的ng-class不工作

时间:2016-02-03 13:22:16

标签: css angularjs ng-class

我试图在单击按钮时显示微调器。我有一个工作的plunker,我试图实现它一点点调整。我的Plunker就在这里。我提到这个工作Plunker但没有运气。我知道这里缺少一些小东西。

ng-class="{true: overlay}[madeCall]"

3 个答案:

答案 0 :(得分:2)

好的,两个答案都正确指出了一个错误,但逻辑上也存在错误。

在你复制的plunker中,当它为真时会应用一个名为ax.yaxis.set_major_formatter(mtick.FormatStrFormatter('%.2e')) 的类,但是与css一起,他有例如:.grey,结果是所需的。

如果您想要复制那个确切的逻辑,您必须添加.grey .overlay类并更改您的CSS。

例如:

的CSS:

.grey

和html:

.grey .overlay {
    background-color: #e9e9e9;
    /* display: none; */
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0.5;
}

plunker

答案 1 :(得分:1)

应该是:

ng-class="{overlay: madeCall}"

ng-class的语法为{className: Expression},如果表达式是真实的,则将应用该类。

答案 2 :(得分:1)

{p} overlay应位于quotes,否则会在范围内查找overlay变量。

ng-class="{true: 'overlay'}[madeCall]"

Demo Here