angular.js:使用ng-hide或ng-show隐藏JSON数据的最后两个元素

时间:2014-08-22 10:38:02

标签: json angularjs

我在我的HTML中使用:

<div ng-repeat="item in items" ng-show="!$last">
    <div>{{ item.value }}</div>
</div>

..隐藏mongodb文档的最后一个元素(又名JSON数据)。 JSON数据的所有其他元素都按预期打印出来。

现在我如何隐藏我的json数据的最后两个成员,或者通过键名隐藏,例如&#34; __ V&#34;和&#34; _id&#34;应该对用户隐藏。

2 个答案:

答案 0 :(得分:2)

使用ng-show指令:

<div ng-repeat="friend in friends">
  <li ng-repeat="(key, value) in friend" ng-show="key != '_id' && key != '__v'">
    <input type="text" ng-model="friend[key]">
  </li>
</div>

plunker

答案 1 :(得分:1)

您可以编写自定义过滤器以返回对象的所有键,但不包括您不想要的键,例如带有_前缀的密钥。

app.filter('keys', function () {
  return function (obj) {
    return Object.keys(obj).filter(function (k) {
      return k && k.charAt(0) !== '_' && k !== '$$hashKey';
    });
  };
});

并在ng-repeat中使用它,如下所示:

<ul>
  <li ng-repeat="friend in friends">
    <input type="text" ng-repeat="key in friend | keys" ng-model="friend[key]"  />
  </li>
</ul>

示例Plunker: http://plnkr.co/edit/ws5RqR5zN71ZHY7OCxtD?p=preview