order使用ui-typeahead对象中的值

时间:2016-05-17 09:27:28

标签: javascript angularjs angular-ui-typeahead

我正在尝试使用我的ui-typeahead输入命令以下对象列表中的主要部分。

[
    {
        name: 'London (LHR)',
        code: 'LHR',
        country: 'GB',
        major: 1
    },
    {
        name: 'Gatwick (LGW)',
        code: 'LGW',
        country: 'GB',
        major: 0
    }
]

<input 
    type="text" 
    name="destination" 
    uib-typeahead="airport as airport.name for airport in getAirports($viewValue) | filter:$viewValue | orderBy:airport.major | limitTo:8" 
/>

我尝试过“major”和“airport.major”,如上例所示。 Major主要反映机场是否很重要。例如,伦敦希思罗机场将是1,而盖特威克将是0。

getAirports()创建我的Airports对象,因为输出需要对机场名称进行一些验证。

orderBy没有效果,有人可以找到我错的地方吗?

1 个答案:

答案 0 :(得分:3)

对我有用的是把我想用单引号排序的价值。所以基于你的例子,这将是:

 <input type="text" name="destination" 
    uib-typeahead="airport.name for airport in getAirports($viewValue) | filter:$viewValue | orderBy:'major' | limitTo:8" 
/>