单击第二次时单击不同的行为

时间:2014-05-12 09:59:28

标签: angularjs angularjs-ng-click

以下是我的HTML

<div id="alertmap-buttons" class="span2 no-margin">
                        <button id="alert-add-location" class="btn btn-default pull-left" ng-click="displayMap = !displayMap"><span ng-if="!displayMap">Add Location</span><span ng-if="displayMap">Done</span></button>
                        <button id="alert-cancel-location" class="btn btn-danger" ng-if="displayMap" ng-click="alert.latitude = !alert.latitude; alert.longitude = !alert.longitude;">Cancel</button>
                   </div>

                    <div ng-if="alert.latitude && alert.longitude" id="latlng-label" class='span3 pull-right no-margin'>
                        <div class="pull-left"><label class="latlng-label">lat: {{alert.latitude}}</label></div>
                        <div class="pull-right"><label class="latlng-label">long: {{alert.longitude}}</label></div>
</div>

这里试图隐藏lat&amp;单击取消按钮时,但当我第二次单击取消按钮时,它再次显示为

lat:true            lang:true

这里应该做些什么来消除这个?

还有一件事,这里displayMap是diplaying一张地图来选择lat和lang,选择我们点击后,Done map将会消失,一个表格会显示给用户。所有这些都将在模态对话框中发生。在这里,当我点击取消时,我需要清除lat&amp;的值。我也需要这样做

displayMap = !displayMap

但这种组合不起作用?有什么想法吗?

谢谢

1 个答案:

答案 0 :(得分:0)

您正在撤消该值。停止反转并将值设置为false。

ng-click="alert.latitude = false; alert.longitude = false;"

<强>更新

ng-click="displayMap = !displayMap; alert.latitude = false; alert.longitude = false;"

但是由于这有点冗长,我可能会在我的控制器中创建一个函数来重置这些值。据我所知,使用ng-click,只要它们是分号分开的,你就可以做任意多的事情。