角度js在模型之间切换

时间:2013-06-24 07:43:05

标签: angularjs

我对AngularJs很陌生,而且我已经锁定了代码的一小部分:

在我的用户界面中,我有一个单选按钮和一个表格(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 = ?????

提前谢谢。

查理

2 个答案:

答案 0 :(得分:2)

您可以观看$ scope.choice:

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

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

答案 1 :(得分:2)

您可以在“选择”上设置范围。$ watch表达式,用于交换分配给gridOptions的数据。

在您的控制器内

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

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