$timeout 不能与 ng-class 一起正常工作

$timeout not working correctly with ng-class

我正在尝试做类似

的事情
$timeout(function() {
  if (someCondition === true) {
    _this.isVariantShowSaving = true;
  }
}, 50);

在控制器中(注意:我使用 controllerAs 语法保存 var _this = this;)与具有以下属性的 dom 相关

class="pricing-info"  ng-class="{ 'pricing-info variant-hide-savings' : !expressDealCtrl.isVariantShowSaving }"

由于某种原因,class="pricing-info" 已被完全擦除,当 isVariantShowSaving 在超时之前从假切换为真时....

我无法想象这是什么问题。想法?

问题不在于 $timeout,因为在任何情况下都需要两种不同的表达方式,一个应该始终如此

<div ng-class="{class1 : expression1, class2 : expression2}">
    Hello World!
</div>

在我的例子中 expressDealCtrl.isVariantShowSaving! expressDealCtrl.isVariantShowSaving 是两个表达式。

*在这上面至少花了 4 个小时...希望它对某人有帮助 :)

干杯!