我对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 = ?????
提前谢谢。
查理
答案 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不是必需的,因为监视表达式仅在摘要周期中被调用。