无法使用 ng-click 获得两个不同的按钮来调用两个不同的功能
Can't get two different buttons to call two different functions with ng-click
<div class="card">
<label class="item item-input">
<span class="input-label">Completed</span>
<div class="button-bar">
<button class="button" ng-click="setActive('Yes')" ng-class="{'button-positive': isActive('Yes')}">Yes</button>
<button class="button" ng-click="setActive('No')" ng-class="{'button-positive': isActive('No')}">No</button>
</div>
</label>
</div>
.controller('CompleteWorkOrderController', function($scope, $http) {
$scope.active = 'No';
$scope.setActive = function(value){
$scope.active = value;
}
$scope.isActive = function(value){
return value === $scope.active;
}
});
出于某种原因,无论我做什么,任一按钮都会将值 'Yes' 发送到 setActive() 函数。
代码是从这个简单而有效的 Plunker 中提取出来的,我完全不明白哪里出了问题。如果我将它转储到我自己的 Plunker 中,它也能正常工作。
有什么想法吗?我现在真的很困惑。
.state('tab.complete-work-order', {
url: '/complete-work-order/:workOrderId',
views: {
'tab-timesheet': {
templateUrl: 'timesheet/templates/complete-work-order.html',
controller: 'CompleteWorkOrderController'
}
}
})
控制器就是这样设置到这个页面的。它似乎工作正常,因为函数被调用。
html 页面可能缓存在浏览器中,清除缓存后重试。
原来是:
<label class="item item-input">
我想 Ionic 认为这意味着整个事情都是单一输入,并且不知何故只使用第一个按钮的值?
不确定这是怎么发生的,但至少解开了谜团。
<div class="card">
<label class="item item-input">
<span class="input-label">Completed</span>
<div class="button-bar">
<button class="button" ng-click="setActive('Yes')" ng-class="{'button-positive': isActive('Yes')}">Yes</button>
<button class="button" ng-click="setActive('No')" ng-class="{'button-positive': isActive('No')}">No</button>
</div>
</label>
</div>
.controller('CompleteWorkOrderController', function($scope, $http) {
$scope.active = 'No';
$scope.setActive = function(value){
$scope.active = value;
}
$scope.isActive = function(value){
return value === $scope.active;
}
});
出于某种原因,无论我做什么,任一按钮都会将值 'Yes' 发送到 setActive() 函数。
代码是从这个简单而有效的 Plunker 中提取出来的,我完全不明白哪里出了问题。如果我将它转储到我自己的 Plunker 中,它也能正常工作。
有什么想法吗?我现在真的很困惑。
.state('tab.complete-work-order', {
url: '/complete-work-order/:workOrderId',
views: {
'tab-timesheet': {
templateUrl: 'timesheet/templates/complete-work-order.html',
controller: 'CompleteWorkOrderController'
}
}
})
控制器就是这样设置到这个页面的。它似乎工作正常,因为函数被调用。
html 页面可能缓存在浏览器中,清除缓存后重试。
原来是:
<label class="item item-input">
我想 Ionic 认为这意味着整个事情都是单一输入,并且不知何故只使用第一个按钮的值?
不确定这是怎么发生的,但至少解开了谜团。