Angular 所选选项的 ng-init 不工作
Angular ng-init for selected option is not working
我正在研究这个 fidde HERE
这是我的控制器:
angular.module('demoApp', []).controller('DemoController', function($scope) {
$scope.options = [
{ label: 'one', value: '1' },
{ label: 'two', value: '2' },
{ label: 'three', value: '3' },
{ label: 'four', value: '4' }
];
$scope.selected = {
"aaa": [
{
"bbb": {
"ccc": 1
}
},
{
"bbb": {
"ccc": 2
}
},
{
"bbb": {
"ccc": 3
}
},
]
}
});
$scope.options 是我 select dom 的选项,$scope.selected 是我 select 中的 selected 项目] dom
这是我的 index.html :
<body ng-app="demoApp">
<div ng-controller="DemoController">
<div ng-repeat="data in selected.aaa">
<select ng-model="data.bbb.ccc"
ng-options="opt.value as opt.label for opt in options" ng-init="data.bbb.ccc = data.bbb.ccc || options[$index].value">
</select>
selected must be : {{data.bbb.ccc}}
</div>
</div>
</body>
我有的是
我需要的是
$scope.selected 的树结构是预期的,这是我需要处理的真实结构。谁能帮帮我?
一切都很简单。您的选项包含字符串,但您的树结构包含 int
值。
您需要更改选项对象:
$scope.options = [
{ label: 'one', value: 1 },
{ label: 'two', value: 2 },
{ label: 'three', value: 3 },
{ label: 'four', value: 4 }
];
我正在研究这个 fidde HERE
这是我的控制器:
angular.module('demoApp', []).controller('DemoController', function($scope) {
$scope.options = [
{ label: 'one', value: '1' },
{ label: 'two', value: '2' },
{ label: 'three', value: '3' },
{ label: 'four', value: '4' }
];
$scope.selected = {
"aaa": [
{
"bbb": {
"ccc": 1
}
},
{
"bbb": {
"ccc": 2
}
},
{
"bbb": {
"ccc": 3
}
},
]
}
});
$scope.options 是我 select dom 的选项,$scope.selected 是我 select 中的 selected 项目] dom
这是我的 index.html :
<body ng-app="demoApp">
<div ng-controller="DemoController">
<div ng-repeat="data in selected.aaa">
<select ng-model="data.bbb.ccc"
ng-options="opt.value as opt.label for opt in options" ng-init="data.bbb.ccc = data.bbb.ccc || options[$index].value">
</select>
selected must be : {{data.bbb.ccc}}
</div>
</div>
</body>
我有的是
我需要的是
$scope.selected 的树结构是预期的,这是我需要处理的真实结构。谁能帮帮我?
一切都很简单。您的选项包含字符串,但您的树结构包含 int
值。
您需要更改选项对象:
$scope.options = [
{ label: 'one', value: 1 },
{ label: 'two', value: 2 },
{ label: 'three', value: 3 },
{ label: 'four', value: 4 }
];