在ng-show / ng-hide属性中绑定的一种方法

时间:2014-11-20 23:16:05

标签: angularjs ng-show

我有一个用例,我有一个表,行数据有单向绑定应用,但我有一个基于相同模型的ng-show / hide条件。我还有一个表单可以更改ng-show / hide绑定的模型。问题是,当我只想在加载时解析hide / show属性时,表单会触发show / hide。

标记:

            <td>{{ item.print_id }}</td>
            <td>{{ item.customer }}</td>
            <td>{{ item.valet }}</td>
            <td><span class="{{ ::item.status | lowercase }}">{{ ::item.status }}</span></td>
            <td>{{ item.requested_at | date:'MM-dd-yyyy HH:mm' }}</td>
            <td>${{ item.price }}</td>
            <td><i data-ng-click="openEditForm( item )" class="glyphicon glyphicon-edit"></i></td>
            <td><i data-ng-hide="item.status === 'Refunded' || item.status === 'Unused'" data-ng-click="openRefundModal( item )" class="glyphicon glyphicon-retweet"></i></td>

我有一个带有表单的模态,它会更改item.status的值。正常td中的单向绑定按预期工作,但我的条件更新。

我知道我可以将item.status作为一个类分配并隐藏它,但我宁愿先看看是否有角度构造。

1 个答案:

答案 0 :(得分:1)

添加其他bool变量,该变量将在触发表单时更改,如:

<td>{{ item.print_id }}</td>
<td>{{ item.customer }}</td>
<td>{{ item.valet }}</td>
<td><span class="{{ ::item.status | lowercase }}">{{ ::item.status }}</span></td>
<td>{{ item.requested_at | date:'MM-dd-yyyy HH:mm' }}</td>
<td>${{ item.price }}</td>
<td><i data-ng-click="openEditForm( item )" class="glyphicon glyphicon-edit"></i></td>
<td><i data-ng-hide="firstTime && (item.status === 'Refunded' || item.status === 'Unused')" data-ng-click="openRefundModal( item )" class="glyphicon glyphicon-retweet"></i></td>

在控制器inicialization集firstTime = true中,然后在表单事件代码设置为false之前。这有点棘手但很简单。