tags-input显示数组的元素

时间:2015-08-18 09:50:55

标签: angularjs ng-tags-input

嗨我有这样的JSON:

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

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

我有

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

' se '来自 ng-repeat =“se在searchCtrl.pages

2 个答案:

答案 0 :(得分:0)

考虑到所提供的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>

这是小提琴:

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

<强>更新

您尚未将角度ng-tags-input扩展名作为标记添加到您的问题中。请看我更新的小提琴:

<强> http://jsfiddle.net/HB7LU/16557/

答案 1 :(得分:0)

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