Angularjs 如何在外部隐藏/显示ng轴网柱?

Angularjs 如何在外部隐藏/显示ng轴网柱?,angularjs,ng-grid,Angularjs,Ng Grid,我使用的是ng网格,我想隐藏/显示外部按钮上的列 我试过这个,但不起作用 $scope.gridOptions.$gridScope.columns[0].toggleVisible() 尝试使用ng click指令 您的html按钮可能如下所示 <input type="button" ng-click="toggleCol(0)" /> var app = angular.module('myCoolGridApp', ['ngGrid']); app.controller(

我使用的是
ng网格
,我想隐藏/显示外部按钮上的列

我试过这个,但不起作用

$scope.gridOptions.$gridScope.columns[0].toggleVisible()

尝试使用ng click指令

您的html按钮可能如下所示

<input type="button" ng-click="toggleCol(0)" />
var app = angular.module('myCoolGridApp', ['ngGrid']);
app.controller('MyCtrl', function ($scope) {
    $scope.toggleCol= function(i) {
       $scope.gridOptions.$gridScope.columns[i].toggleVisible()
    }
}

如果从外部上下文调用,您可能缺少
$scope.$apply()
。请提供更多上下文(即代码)。感谢您的回复。我也这么做了,但是我得到了一个类似于TypeError的错误:无法读取未定义的属性“columns”。当我尝试记录$gridScope时,它会显示“未定义”。我仍然可以看到,当我记录整个$scope$scope>gridOptions>$gridScope>列时,我不确定您出了什么问题,这段代码适合我。同样,在这个快速插销的例子中:谢谢。这对我也很管用。我遇到的问题是注册对象的延迟。很好的黑客,谢谢。我可以补充一点吗?列定义必须先设置为visible:false或visible:true?这对我也很管用。