单击按钮时切换按钮

时间:2017-01-31 22:23:14

标签: angularjs

我有一个按钮状态"State1""State2"

默认为"State2"。当我点击按钮时,它会切换到"State1" 当我点击按钮外的任何地方时,我需要将其从"State1"更改回"State2"。这是我的代码:

<div ng-click="Ctrl.Check = !Ctrl.Check">
            <a ng-class="{'btn-danger': !Ctrl.Check, 'btn-default': Ctrl.Check }" >
                {{ Ctrl.Check ? 'State1' : 'State2' }}
            </a>
</div>

1 个答案:

答案 0 :(得分:1)

听起来你只是在检查元素是否具有焦点。这比在表单上放置一堆ng-click处理程序更容易,只是为了切换一个输入。

使用ng-focus和相应的ng-blur。如果您使用可以具有焦点的HTML元素(如<button>),则可以使用

之类的代码
<button type="button" class="btn" 
    ng-class="{'btn-danger': !Ctrl.Check, 'btn-default': Ctrl.Check }" 
    ng-focus="Ctrl.Check = true"
    ng-blur="Ctrl.Check = false">
    {{ Ctrl.Check ? 'State1' : 'State2' }}
</button>

Demo on plnkr