自定义条件不触发的 NG-STYLE

NG-STYLE with custom condition not firing

我在远程数据源中有以下项目(大大简化)

[
{
    "id": "3",
    "card_name": "Free Beer!",
    "count": "1"
}

]

我有一个 DIV 带有 NG-REPEAT(再次大大简化)

<div ng-repeat="card in cardDetails">
 <h1>{{card.card_name}}</h1>
 <button ng-style="set_hide(card)">Claim Me</button>
</div>

以及我的控制器中的以下内容

    $scope.set_hide = function (card) {
    if (card.count > 0) {
        return { display:none }
    } else {
        return { display:block }
    }
}

所以基本上如果这张卡的计数不为零 (1+),按钮应该 display:none 并消失

其余信息(即卡片名称)按预期呈现,如果我还添加 {{card.count}},则按预期显示为 1

但什么也没有发生。没有错误,什么都没有

为什么我的 ng-style 没有触发

提前感谢您的指导

如果只是需要隐藏按钮。一种更简单的方法是不使用函数 set_hide().

您只需将 ng-hide 属性插入按钮元素即可。

<button ng-hide="card.count > 0">Claim Me</button>

你应该做的:

$scope.set_hide = function (card) {
  if (card.count > 0) {
    return { display:'none' }
  } else {
    return { display:'block' }
  }
}

您缺少 'none' 和 'block' 周围的引号。