javascript - 如何为对象数组提供 ng-options?
问题描述
我的 json 在角度选择标签中绑定时遇到问题。
杰森:
{
"List": [
{
"service": [
"one"
],
"id": [
1
]
},
{
"service": [
"two"
],
"id": [
2
]
}
]
}
这里我需要在选择标签中绑定服务属性。我正在获取对象数组。
任何帮助,将不胜感激。
谢谢
解决方案
您将获得一个数组,因为主列表中的每个项目都有一个service
属性和id
属性作为数组,因此为了填充选项列表,您需要使用以下内容:
ng-options="item.id[0] as item.service[0] for item in items.List"
我使用在控制器中保存了项目列表,并在指令中$scope.items
使用它来引用它。... in items.List
ngOptions
每个选项的值<option>
和元素中的标题/标签<select>
使用item.id[0] as item.service[0] for item
- 它为每个选项选择每个service
和id
数组中的第一个元素。
这是一个工作示例:
angular.module('app', []).controller('ctrl', function($scope) {
$scope.items = {"List": [
{
"service": [
"one"
],
"id": [
1
]
},
{
"service": [
"two"
],
"id": [
2
]
}
]};
$scope.selectionChanged = function(value) {
console.log(value);
};
// You can also define a pre-selected option by uncommenting the following line
// $scope.selected = 2;
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js"></script>
<div ng-app="app" ng-controller="ctrl">
<select ng-options="item.id[0] as item.service[0] for item in items.List" ng-model="selected" ng-change="selectionChanged(selected)"></select>
<div ng-if="selected">
Selected: <pre ng-bind="selected"></pre>
</div>
</div>
推荐阅读
- javascript - Javascript数组连接函数
- python - 在 WSL 上安装 wxPython(使用 GTK+2)
- firebase - 如何构建 Firebase FCM 令牌存储以进行扩展?
- python - 在numpy中选择一个元素
- c# - 只将数据添加到 DbContext 一次
- php - 无法使用 php Curl 将文件发送到第三方服务器
- sqlite - SQLITE3:恒定时间行寻址
- javascript - 为什么 JavaScript 中 0700/100 等于 4.48 而 0900/100 等于 9?
- kotlin - 用 mockk 模拟常量值
- javascript - 带有日期时间轴的 AmCharts 在 2PM 之后显示 12PM