NG-STYLE,自定义条件不会触发

时间:2017-04-21 16:21:32

标签: angularjs function conditional-statements ng-style

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

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

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

<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+),按钮应该显示:none和vanish

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

但根本没有任何事情发生。没有错误,只是没有错误

为什么我的ng风格没有解雇

提前感谢任何指导

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

你应该这样做:

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

你错过了&#39; none&#39;周围的报价。和&#39;阻止&#39;。