如何以编程方式从ng表中选择第一行?

时间:2015-06-11 13:40:24

标签: javascript angularjs ngtable

我正在尝试更改ng-table的选定行。使用此代码,我可以选择ng-table的第一行,但是在初始调用中,override func awakeWithContext(context: AnyObject?) { super.awakeWithContext(context) let ua = NSUserActivity(activityType: "com.mycompany.doingSomething") ua.userInfo = ["My key": "My value"] self.currentUserActivity = ua } 似乎没有触发,因为样式未应用于所选行。但是在第二次调用函数时,应用了样式。

这是我们的选择功能:

data-ng-class

这是表格行:

function changeSelection(agreement) {
  if (agreementNumberService.isSelectable === true) {
    agreementVM.isSelectable = true;

    if (agreement.$selected) {
      agreement.$selected = !agreement.$selected;
    } else {
      agreement.$selected = true;
    }

    //agreement.$selected = !agreement.$selected;
    if (agreementVM.selectedItem && agreementVM.selectedItem !== agreement) {
      agreementVM.selectedItem.$selected = false;
    }

    agreementVM.selectedItem = agreement;
      }
  }

你知道为什么第一次调用函数时没有应用样式,而是在后续调用中?提前谢谢。

1 个答案:

答案 0 :(得分:0)

以下对视图的更改修复了问题。上一个表达式存在问题。

<tr data-ng-repeat="agreement in $data" data-ng-click="vm.changeSelection(agreement)"
            data-ng-class="{'active': (agreement.agreementNumber == vm.selectedItem.agreementNumber)}">