我有两个不同的列表,我需要在页面上显示为单个列表,并在屏幕上显示为单选项目。如果未选择任何元素,或者如果用户选择默认值,则如何识别 ng 模型和所选值。
<script>
angular.module('valueExample', [])
.controller('ExampleController', ['$scope', function($scope) {
$scope.names = ['pizza', 'unicorns', 'robots'];
$scope.my = { favorite: 'unicorns' };
}]);
</script>
<form ng-controller="ExampleController">
<h2>Which is your favorite?</h2>
<label ng-repeat="name in names" for="{{name}}">
{{name}}
<input type="radio"
ng-model="my.favorite"
ng-value="name"
id="{{name}}"
name="favorite">
</label>
<label ng-repeat="name in names2" for="{{name}}">
{{name}}
<input type="radio"
ng-model="my.favorite"
ng-value="name"
id="{{name}}"
name="favorite">
</label>
<div>You chose {{my.favorite}}</div>
</form>
名称和名称2是2个列表项,我想在单个屏幕上显示
正如我所建议的,您可以连接列表并相应地使用 ng-repeat。或者你可以使用 ng-repeat-start 和 ng-repeat-end 并相应地渲染。
angular.module('valueExample', [])
.controller('ExampleController', function($scope) {
var names1 = ['pizza1', 'unicorns1', 'robots1'];
var names2 = ['pizza2', 'unicorns2', 'robots2'];
$scope.names = names1.concat(names2);
$scope.my = {
favorite: 'unicorns1'
};
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.5/angular.min.js"></script>
<form ng-app="valueExample" ng-controller="ExampleController">
<h2>Which is your favorite?</h2>
<div ng-repeat="name in names">
<input type="radio" ng-model="my.favorite" ng-value="name" />
<label>{{name}}</label>
</div>
<div>You chose {{my.favorite}}</div>
</form>