Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 单击“退出”按钮时切换按钮_Angularjs - Fatal编程技术网

Angularjs 单击“退出”按钮时切换按钮

Angularjs 单击“退出”按钮时切换按钮,angularjs,Angularjs,按钮有两种状态,状态1和状态2 它默认为State2。当我单击该按钮时,它将切换到状态1。 当我点击按钮外的任何地方时,我需要它从State1变回State2。这是我的代码: <div ng-click="Ctrl.Check = !Ctrl.Check"> <a ng-class="{'btn-danger': !Ctrl.Check, 'btn-default': Ctrl.Check }" > {{ Ctrl.

按钮有两种状态,状态1和状态2

它默认为State2。当我单击该按钮时,它将切换到状态1。 当我点击按钮外的任何地方时,我需要它从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>

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

使用和相应的ng模糊。如果您使用的HTML元素可以像a一样具有焦点,那么您可以使用如下代码

<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>

尝试将class=btn添加到A元素当你说单击离开按钮时,你的意思是当按钮在模糊上失去焦点时?@ryanyuyu我的意思是不单击按钮触发切换单击按钮之外的任何位置?是的,我的意思是@ryanyuyuh当你同时单击按钮时,你如何使其切换?等等。在单击和模糊之间切换?这没有什么意义。但是您可以只添加ng click=Ctrl.Check=!Ctrl,Check或者类似的东西。