1

我对 AngularJs 很陌生,我被锁定在一小部分代码上:

在我的 UI 中,我有一个单选按钮和一个表格(ng-grid)。在我的控制器中,每个收音机选项都有一个 json 数组。

如何根据所选单选按钮动态绑定表数据?

示例:我有一台带有 A 和 B 选项的收音机。

 <div class="btn-group">
            <button type="button" class="btn btn-primary" ng-model="choice" btn-radio="'A'">A</button>
            <button type="button" class="btn btn-primary" ng-model="choice" btn-radio="'B'">B</button>
        </div>
<div class="gridStyle" ng-grid="gridOptions">
        </div>

控制器有三个数组:

$scope.choice = 'A'
$scope.A = {name: 'A', propA: 'Aprop'}
$scope.B = {name: 'B', propB: 'Bprop'}
$scope.gridOptions = ?????

先感谢您。

查理

4

2 回答 2

2

您可以观看 $scope.choice:

$scope.$watch('choice', function(newVal, oldVal) {
  $scope.gridOptions = $scope.choice;
});

这要求您将 $scope.choice 设置为整个 $scope.A 对象。我不知道这是否适用于引导单选按钮,但它适用于普通的角度单选按钮。

于 2013-06-24T08:16:33.243 回答
2

您可以在“选择”上设置一个 scope.$watch 表达式,以交换分配给 gridOptions 的数据。

在你的控制器里面

$scope.$watch('choice', function(newValue, oldValue) {
    if ($scope.choice == 'A') { 
        $scope.gridOptions = ?????? 
    } else { 
        $scope.gridOptions = ????? 
    }
})

编辑: $digest 不是必需的,因为监视表达式仅在摘要循环期间调用。

于 2013-06-24T08:19:08.600 回答