我正在尝试在Angular中创建一个切换按钮.到目前为止我所拥有的是:
<div class="btn-group">
<a class="btn btn-primary pull-right" ng-click="toggleArchive(true)" ng-show="!patient.archived">Archive patient</a>
<a class="btn btn-danger pull-right" ng-click="toggleArchive(false)" ng-show="patient.archived">Unarchive patient</a>
.... some other buttons ....
</div>
Run Code Online (Sandbox Code Playgroud)
基本上我通过使用两个按钮实现切换,并在它们之间切换.这会导致问题,因为ng-hide只有display:none在隐藏按钮时才会为按钮添加样式,这会导致样式问题.理想情况下,我想要一个按钮,它的文本,类和函数调用根据状态而改变patient.archived.
什么是实现这一目标的干净方法?
我想在输入中按Enter时触发按钮的单击事件,我发现使用AngularJS非常困难.
我的观点(简化,更新):
<!doctype html>
<html lang="en" ng:app="test">
<head>
<meta charset="utf-8" />
<title>Test</title>
<link rel="stylesheet" href="css/app.css" />
</head>
<body ng-controller="TestController">
<button ng-click="onButton1Click()" class="btn1">Click Me</button>
<button ng-click="onButton2Click()" class="btn2">Don't click me</button>
<script src="lib/jquery/jquery.js"></script>
<script src="lib/angular/angular.js"></script>
<script src="js/testcontroller.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我对此视图的控制器:
'use strict';
angular.module('test', [])
.controller('TestController', ['$scope',
function($scope) {
$scope.onButton1Click = function() {
alert("Hello");
}
$scope.onButton2Click = function() {
$('.btn2').click();
}
}])
Run Code Online (Sandbox Code Playgroud)
我简化了所有代码.当我点击btn2时,我收到此错误
$申请已在进行中
不,我不能$scope.onButton1Click()直接打电话,我必须模拟btn1点击.