页面加载时的ng-class调用函数 - AngularJS

时间:2016-02-04 11:41:40

标签: angularjs

这可能非常简单,但我似乎无法成功获得我想要的逻辑。

<div class="group-title" ng-class="{'group-hasError': !isValid(orderItem)}">

正如您所看到的,如果函数group-hasError返回false,我正在添加一个类isValid(orderItem)

现在的问题是,这是在页面加载时调用的。但我不希望在页面加载时调用此函数,而不是在调用提交按钮时调用

<button id="add_modified_item" ng-click="isValid(orderItem)" class="btn btn-primary btn-fixed-medium pull-right">

我怎样才能做到这一点?

这是功能;

$scope.isValid = function(orderItem) {
  var count = 0;
  //By default make it true
  var IsAllSelected = true;
  angular.forEach(orderItem.menu_modifier_groups, function(group) {
    var count = 0;
    angular.forEach(group.menu_modifier_items, function(item) {
      count += item.selected ? 1 : 0;
    });
    if (count == group.max_selection_points) {
      IsAllSelected = true;
    } else {
      //if one item failed All select do return false
      IsAllSelected = false;
    }
  });
  return IsAllSelected;
}

任何建议表示赞赏

1 个答案:

答案 0 :(得分:1)

Defalut set

$scope.setValidClass=false;

查看

<div class="group-title" ng-class="(setValidClass)? 'group-hasError':'')}">

使用

设置模型
//if IsAllSelected=false then set IsAllSelected to  true
$scope.setValidClass=!IsAllSelected;
return IsAllSelected;