在ng-repeat循环中隐藏单个div

时间:2015-01-27 09:05:17

标签: javascript angularjs angularjs-ng-click ng-hide

我有一个ng-repeat循环,它显示各个面板(每个循环迭代一个)。在每个面板中,我都有一个标记为“'具有ng-click事件的按钮。我希望能够隐藏单击标记作为读取按钮的面板,但到目前为止,我只能显示和隐藏所有面板,而不是单个选定的面板。 如何获取ng-click以隐藏所选面板?

由于

对不起,这是我现在正在做的一些代码:

小组部分:

<section class="card" ng-repeat="item in notifications" ng-hide="msgRead">
        <div class="item item-header notification wrap">
            <h2>{{item.title}}</h2>
            <div class="notification-content">
                {{item.text}}
            </div>
            <button class="button button-block button-stable" ng-click="markAsRead(item.id)">
                Mark As Read
            </button>
        </div>
    </section>

这是我的控制器功能:

$scope.msgRead = true;

$scope.markAsRead = function (id) {

    $scope.msgRead = $scope.msgRead === false ? true : false;
};

斯蒂芬

1 个答案:

答案 0 :(得分:-1)

您可以这样写:

<section class="card" ng-repeat="item in notifications" ng-hide="item.readonly">
    <div class="item item-header notification wrap">
        <h2>{{item.title}}</h2>
        <div class="notification-content">
            {{item.text}}
        </div>
        <button class="button button-block button-stable" ng-click="item.readonly = true">
            Mark As Read
        </button>
    </div>
</section>

您不需要为此编写范围方法。