2015-09-05 50 views
1

试图显示来自与ES词组建议者的建议对象的选项阵列使用AngularJS第一选项10显示搜索建议,但难倒....如何从Elasticsearch短语建议者与AngularJS

此输出第一元素在选项数组中:

{{suggestions.options[0].text}} 

该文本是实际的建议。从开发控制台

输出在Chrome:

suggest: {,…} 
phraseSuggestion: [{text: "pytho", offset: 0, length: 5, options: [{text: "python", score: 0.12858662}]}] 
0: {text: "pytho", offset: 0, length: 5, options: [{text: "python", score: 0.12858662}]} 
length: 5 
offset: 0 
options: [{text: "python", score: 0.12858662}] 
0: {text: "python", score: 0.12858662} 
text: "pytho" 

如何访问:

options: [{text: "python", score: 0.12858662}] 

在我的HTML模板,并显示数组中的第5至10个选项。

+0

我听不懂,你可以用{{suggestions.options [0] .text}}来访问它' –

+0

@Michelem是的我明白,我想要做的是列出5 - 10选项,而不是1,这是所有代码显示 – user3125823

回答

1

所以,如果你有例如这样的JSON输出,你要显示的第一个2选择项目,你可以这样做:

JSFiddle

HTML:

<div ng-app="myApp" ng-controller="dummy"> 
    <p ng-repeat="option in out.options | limitTo:2">{{option.text}} - {{option.score}}</p> 
</div> 

JS:

angular.module('myApp', []) 
    .controller('dummy', ['$scope', '$sce', function ($scope, $sce) { 
    $scope.out = { 
     "options": [{ 
      "text": "python", 
       "score": 0.12858662 
     }, { 
      "text": "linux", 
       "score": 0.12858662 
     }, { 
      "text": "php", 
       "score": 0.12858662 
     }, { 
      "text": "js", 
       "score": 0.12858662 
     }, { 
      "text": "java", 
       "score": 0.12858662 
     }] 
    }; 

}]); 
+0

非常感谢你!仍在学习Angular - 它看起来很棒 - 知道如何使用它是战斗的一半! – user3125823