使用ng-hide

时间:2016-07-28 13:07:09

标签: angularjs ng-repeat ng-hide

我想只显示其数据来自API的列表项。我想使用标准方式只显示那些数据即将到来的人

 <div class="row" ng-repeat="query in prev_queries">
                      <div class="col-md-12 cell">
                         <div class="well" >
                            <p class="history">{{query.query_string}}</p>
                            <ul  class="history-filter">
                               <li ng-hide="true"> <i class="fa fa-twitter fa-2x" aria-hidden="true"></i> </li>
                               <li ng-hide="true"> <i class="fa fa-facebook fa-2x" aria-hidden="true"></i> </li>
                               <li ng-hide="false"> <i class="fa fa-instagram fa-2x" aria-hidden="true"></i> </li>
                               <li ng-hide="true"> <i class="fa fa-youtube fa-2x" aria-hidden="true"></i> </li>
                               <li ng-hide="false"> <i class="fa fa-flickr fa-2x" aria-hidden="true"></i> </li>
                            </ul>
                            <p class="history-time"> {{query.timestamp | date}}</p>
                            <span class="pull-right"> <span class="bigcheck">
                            <label class="bigcheck">
                            <input type="checkbox" class="bigcheck" onchange="showHideIndividualAttributes(this); return false" value="1" />
                            <span class="bigcheck-target"></span> </label>
                            </span> </span>
                         </div>
                      </div>
 </div>

来自API的数据

[
  {
    "_id": "57998a58d5692e2b00e5de9f",
    "query_string": "snowy",
    "query_type": "others",
    "timestamp": "2016-07-28T04:30:16.624Z",
    "__v": 0,
    "social_media": [
      6,
      1
    ]
  },
  {
    "_id": "5799aedad5692e2b00e5df37",
    "query_string": "Edhi",
    "query_type": "others",
    "timestamp": "2016-07-28T07:06:02.113Z",
    "__v": 0,
    "social_media": [
      1,
      6,
      2,
      4,
      3
    ]
  },]

在上述情况下,仅显示其数据存在于social_media数组中的列表项。是否有任何使用ng-repeat处理此问题的方法

2 个答案:

答案 0 :(得分:1)

如果你有修复条件使用ng,你不需要使用ng-hide来解决这个问题 - 如果是这样的话

<div class="row" ng-repeat="query in prev_queries">
                      <div class="col-md-12 cell">
                         <div class="well" >
                            <p class="history">{{query.query_string}}</p>
                            <ul  class="history-filter">
                               <li ng-repeat-start="media in query.social_media" ng-if"media == 1"> <i class="fa fa-twitter fa-2x" aria-hidden="true"></i> </li>
                               <li ng-if="media == 2"> <i class="fa fa-facebook fa-2x" aria-hidden="true"></i> </li>
                               <li  ng-if="media == 3"> <i class="fa fa-instagram fa-2x" aria-hidden="true"></i> </li>
                               <li ng-if="media == 4"> <i class="fa fa-youtube fa-2x" aria-hidden="true"></i> </li>
                               <li ng-if="media == 5" ng-repeat-end> <i class="fa fa-flickr fa-2x" aria-hidden="true"></i> </li>
                            </ul>
                            <p class="history-time"> {{query.timestamp | date}}</p>
                            <span class="pull-right"> <span class="bigcheck">
                            <label class="bigcheck">
                            <input type="checkbox" class="bigcheck" onchange="showHideIndividualAttributes(this); return false" value="1" />
                            <span class="bigcheck-target"></span> </label>
                            </span> </span>
                         </div>
                      </div>
 </div>

答案 1 :(得分:0)

您可以尝试ng-show

import gspread
import json
from oauth2client.client import SignedJwtAssertionCredentials


json_key = json.load(open('client_secret.json'))
scope = ['https://spreadsheets.google.com/feeds']
credentials = SignedJwtAssertionCredentials(json_key['client_email'], json_key['private_key'], scope)

gc = gspread.authorize(credentials)
sht1 = gc.open_by_key('<id_of_sheet>')
worksheet_list = sht1.worksheets()
worksheet = sht1.sheet1
list_of_lists = worksheet.get_all_values()

for row in list_of_lists :
    print row

有了这个,社交媒体数组是空的,那么就不会显示。