如何给ng-options对象数组?

时间:2019-03-15 12:51:35

标签: javascript angularjs

我的json遇到绑定角度标签的问题。

Json:

{
"List": [
    {
        "service": [
            "one"
        ],

        "id": [
            1
        ]
    },
    {
        "service": [
            "two"
        ],

        "id": [
           2
        ]
    }
    ]
}

在这里,我需要在选择标记中绑定服务属性。我正在获取对象数组。

任何帮助将不胜感激。

谢谢

1 个答案:

答案 0 :(得分:1)

您将得到一个数组,因为主列表中的每个项目都有一个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和{中的每个元素的第一个元素每个选项的{1}}数组。

这是一个有效的示例:

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;
});