Angular Material 单选按钮模型未更新
Angular Material Radio Button model not updating
我正在使用带有 ng-repeat
的 Angular Material 无线电组,但我无法让 ng-model
更新为 selection。这是我当前的实现,但我也尝试过 ng-model="$parent.effectSelected"
在代码的更下方,我有一个函数,当用户单击一个按钮时,我使用 select 的值来评估后续步骤,但它始终记录为 'one',这是我最初设置的。
我的HTML:
<md-radio-group ng-model="effectSelected" class="effect-radio-group">
<md-radio-button class="effect-btn" ng-repeat="effect in effects" ng-value="effect.value">{{effect.name}}</md-radio-button>
</md-radio-group>
<md-button ng-click="checkSelection()">Evaluate</md-button>
我的控制器 JS:
$scope.effects = [{'name':'None', 'value': 'one'},{'name':'Maybe', 'value': 'two'},{'name':'Yes', 'value': 'three'}];
$scope.effectSelected = $scope.effects[0].value;
$scope.checkSelection = function () {
console.log($scope.effectSelected);
}
好吧,问题在于您没有将收音机封装在对象中。要运行您的代码,需要执行以下操作:
我的HTML:
<md-radio-group ng-model="effectSelected.selected" class="effect-radio-group">
<md-radio-button class="effect-btn" ng-repeat="effect in effects" ng-value="effect.value">{{effect.name}}</md-radio-button>
</md-radio-group>
<md-button ng-click="checkSelection()">Evaluate</md-button>
我的控制器 JS:
$scope.effects = [{'name':'None', 'value': 'one'},{'name':'Maybe', 'value': 'two'},{'name':'Yes', 'value': 'three'}];
$scope.effectSelected = { selected:'one'}
$scope.checkSelection() = function () {
console.log($scope.effectSelected.selected);
}
希望对你有帮助 ;D
我为你准备了一个JSFiddle。
另外我认为你有一个语法错误:
$scope.checkSelection() = function () {
console.log($scope.effectSelected);
}
应该是
$scope.checkSelection = function () {
console.log($scope.effectSelected);
}
我正在使用带有 ng-repeat
的 Angular Material 无线电组,但我无法让 ng-model
更新为 selection。这是我当前的实现,但我也尝试过 ng-model="$parent.effectSelected"
在代码的更下方,我有一个函数,当用户单击一个按钮时,我使用 select 的值来评估后续步骤,但它始终记录为 'one',这是我最初设置的。
我的HTML:
<md-radio-group ng-model="effectSelected" class="effect-radio-group">
<md-radio-button class="effect-btn" ng-repeat="effect in effects" ng-value="effect.value">{{effect.name}}</md-radio-button>
</md-radio-group>
<md-button ng-click="checkSelection()">Evaluate</md-button>
我的控制器 JS:
$scope.effects = [{'name':'None', 'value': 'one'},{'name':'Maybe', 'value': 'two'},{'name':'Yes', 'value': 'three'}];
$scope.effectSelected = $scope.effects[0].value;
$scope.checkSelection = function () {
console.log($scope.effectSelected);
}
好吧,问题在于您没有将收音机封装在对象中。要运行您的代码,需要执行以下操作:
我的HTML:
<md-radio-group ng-model="effectSelected.selected" class="effect-radio-group">
<md-radio-button class="effect-btn" ng-repeat="effect in effects" ng-value="effect.value">{{effect.name}}</md-radio-button>
</md-radio-group>
<md-button ng-click="checkSelection()">Evaluate</md-button>
我的控制器 JS:
$scope.effects = [{'name':'None', 'value': 'one'},{'name':'Maybe', 'value': 'two'},{'name':'Yes', 'value': 'three'}];
$scope.effectSelected = { selected:'one'}
$scope.checkSelection() = function () {
console.log($scope.effectSelected.selected);
}
希望对你有帮助 ;D
我为你准备了一个JSFiddle。
另外我认为你有一个语法错误:
$scope.checkSelection() = function () {
console.log($scope.effectSelected);
}
应该是
$scope.checkSelection = function () {
console.log($scope.effectSelected);
}