无法在NG检查的函数中获得通过的参数



我在ng检查中调用了一个函数,以检查当前复选框的值是'test'的,如果已选中,则应检查复选框,否则复选框应未选中<</p>

为了实现这一目标,我通过了此。作为显示功能的参数,该函数在NG检查中被称为。但是,在控制台登录时,此this.value是未定义的。即使我将事件对象传递到函数中作为参数,它也将返回未定义。

请检查以下代码:

var app = angular.module('app', []);
app.controller('mainController', function($scope, $http) {
    $scope.show = function(val) {
        console.log(val);
        if (val == 'test') {
            return true;
        } else {
            return false;
        }
    }
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div ng-app="app">
    <div ng-controller="mainController">
	    <input type="checkbox" value="test" ng-checked="show(this.value)"/>
    </div>
</div>

预先感谢:)

您可能需要使用NG模型而不是NG-Checked

var app = angular.module('app', []);
app.controller('mainController', function($scope, $http) {
  $scope.test = false
  $scope.show = function(val) {
      $scope.test = val
  }
  /// after fetching data from your server, 
  /// you can set checked by calling:
  $scope.show(true)
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div ng-app="app">
  <div ng-controller="mainController">
    <input type="checkbox" ng-model="test"   />
     
  </div>
</div>

最新更新