<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()函數。無法通過ng-click來獲得兩個不同的按鈕來調用兩個不同的函數
代碼直接從這個簡單和功能Plunker拉,我根本不明白什麼是錯的。如果我將它轉儲到我自己的Plunker中,它也可以正常工作。
任何想法?我現在真的很神祕。
.state('tab.complete-work-order', {
url: '/complete-work-order/:workOrderId',
views: {
'tab-timesheet': {
templateUrl: 'timesheet/templates/complete-work-order.html',
controller: 'CompleteWorkOrderController'
}
}
})
這是控制器如何設置到此頁面。它似乎工作正常,因爲函數被調用。
我們可以得到一個鏈接到你的破碎撬?在標記中你在哪裏設置ng-controller =「CompleteWorkOrderController」? –
這個plunker工作正常,它在我自己的代碼中不能正常工作。我沒有在標記中設置ng-controller,我只是使用路由器來獲得正確的控制器。函數被調用,它只是使用第一個按鈕上設置的值。我確定沒有任何奇怪的HTML重疊,它實際上是單擊第一個按鈕。 – Hoser