tags-input 显示数组的一个元素

tags-input show a a element of an array

嗨,我有一个 JSON 这样的:

pages[
{
    "id": "74682309",
    "labels": [
      {
        "term": "test1",
        "probability": 0.069
      },
      {
        "term": "test2",
        "probability": 0.037
      }
    ]
}];

并使用标签输入,我希望标签只读取术语并显示术语,以便我可以显示和更新。

我有

<tags-input ng-model="se.labels"></tags-input>

'se' 来自 ng-repeat="se in searchCtrl.pages

我创建了一个 fiddle 来演示如何获取所需的数据,考虑到所提供的 JSON 是 有效 JSON.您的 JSON 无效。

var myApp = angular.module('myApp',['ngTagsInput']);
myApp.factory('data', function() {
    var data = [
{
    "id": "74682309",
    "labels": [
      {
        "text": "test1",
        "probability": 0.069
      },
      {
        "text": "test2",
        "probability": 0.037
      }
    ]
}];

    return data;
});

myApp.controller('MyCtrl', ['$scope', 'data', function($scope, data) {    
    var values = [];
    data.map(function(elem) {
        return elem.labels.forEach(function(el) {
            values.push({
                "text" : el.text
            });
        });
    });    

    $scope.tags = values;
}]);               

和 html 部分:

<div ng-controller="MyCtrl">
    <div class="elem">       
        <tags-input ng-model="tags"></tags-input>
    </div>
</div>

这里是 fiddle:

http://jsfiddle.net/HB7LU/16554/

更新:

您没有将 angular ng-tags-input 扩展名作为标签包含在您的问题中。请查看我更新的 fiddle:

http://jsfiddle.net/HB7LU/16557/

根据文档 (http://mbenford.github.io/ngTagsInput/documentation/api),您可以更改 keyProperty 和 displayProperty 以使其使用 "term" 而不是 "text"