是否可以在带组和不带组的情况下混合 ng-options 中的元素?

Is it possible to mix elements in ng-options with and without groups?

直到 angular 1.4.4(或可能更进一步),如果组名是空字符串或 null/undefined,则可以在 ng-options 中使用组,它在群体之外创建了一个选项。在新版本 1.5.7 中有什么办法可以做到这一点吗?根据 this question,接受的答案建议添加一个新组来收集所有非组元素,但这不符合我的规范。我当然需要一个不属于组的选项,然后是组内的元素,迁移到新版本后仍然可以正常工作。

Here is the fiddle 对于链接的问题,我想在该示例中摆脱名为 No_Group 的组。

ng-options="d.title group by (d.group ==='' ? 'No_Group' : d.group) for d in data"

$scope.data = [
        {
            group:"",
            title:"No GroupA"
        },
        {
            group:"Group_1",
            title:"1"
        },
        {
            group:"",
            title:"No GroupB"
        },
        {
            group:"Group_2",
            title:"2"
        },
        {
            group:"",
            title:"No GroupC"
        }
]

原来我需要输入 undefined 作为组,空字符串或 null 不再起作用。一种选择是编写 html 部分,如下所示:

ng-options="d.title group by (d.group ? d.group : undefined) for d in data"

但是因为我知道哪些对象将在组之外,所以我通过根本不将它们添加到组对象来更优雅地解决问题,这将对应于此示例代码中的以下内容:

$scope.data = [
        {
            title:"No GroupA"
        },
        {
            group:"Group_1",
            title:"1"
        },
        {
            title:"No GroupB"
        },
        {
            group:"Group_2",
            title:"2"
        },
        {
            title:"No GroupC"
        }
]

查看对此行为负责的issue