无法通过ng-click调用两个不同的按钮来调用两个不同的功能

时间:2015-05-15 22:33:42

标签: angularjs ionic angularjs-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'
    }
  }
})

这是控制器设置到此页面的方式。它似乎工作正常,因为函数被调用。

2 个答案:

答案 0 :(得分:4)

原来是:

$fn = 72;

diameter=300;

side();

我想Ionic认为这意味着整个事情是单一输入,并且不知何故只使用第一个按钮的值?

不确定是怎么回事,但至少解开了神秘。

答案 1 :(得分:0)

html页面可能会在浏览器中缓存,清除缓存并重试。