【问题标题】:ionic1 angular js ng-repeat | filter : search not working?ionic1 angular js ng-repeat |过滤器:搜索不起作用?
【发布时间】:2018-03-06 05:56:00
【问题描述】:

angular.module('starter.services', [])

 .factory('Chats', function($http) {
  // Might use a resource here that returns a JSON array

  // Some fake testing data
  var chats=[];
 $http({
  method: 'GET',
  url: 'js/champions.json'
}).then(function success(data) {
  for (var i = 1; i < 700; i++) {
    if (data.data.data[i]!=undefined) {
       chats.push(data.data.data[i]) ;
    //console.log(data.data.data[i]);
    }
  }
 });
//console.log(chats);
  return {
    all: function() {
      return chats;
    },

    remove: function(chat) {
      chats.splice(chats.indexOf(chat), 1);
    },
 
    get: function(chatId) {
      for (var i = 0; i < chats.length; i++) {
        if (chats[i].id === parseInt(chatId)) {
          return chats[i];
        }
      }
      return null;
    }
  };
}) ;
<ion-view view-title=" Tüm Kahramanlar">
  <ion-content>
    <ion-list>

  <ion-item>
    <ion-label fixed>Arama</ion-label>
    <input type="text" style="width: 100%" placeholder="Karakter Adına Göre Filtrele" ng-model="search" ></input>
  </ion-item>

</ion-list>
    <ion-list>
      <ion-item class="item-remove-animate item-avatar item-icon-right" ng-repeat="chat in chats  | orderBy : 'key' | filter :  search  "  type="item-text-wrap" href="#/tab/chats/{{chat.id}}">
        <img ng-src="http://ddragon.leagueoflegends.com/cdn/7.18.1/img/champion/{{chat.image.full}}">
        <h2>{{chat.name  }}</h2>
        <p>{{chat.title}}</p>
        <i class="icon ion-chevron-right icon-accessory"></i>

        <ion-option-button class="button-assertive" ng-click="remove(chat)">
          Delete
        </ion-option-button>
      </ion-item>
    </ion-list>
  </ion-content>
</ion-view>

伙计们,我如何过滤这个 ng 重复代码,就像什么都没发生一样。所以它没有被过滤。请帮助我:(我认为它的模型在我写|过滤器时认为没有改变|过滤器:'NameSomething'它的工作但我无法进入那里的模型我怎么能这样做:?

【问题讨论】:

    标签: angularjs ionic-framework angularjs-scope angularjs-ng-repeat angularjs-filter


    【解决方案1】:

    试试这样:

    更改此行:(确保在控制器中定义 $scope.search = {};

    <input type="text" style="width: 100%" placeholder="Karakter Adına Göre Filtrele" ng-model="search.name" ></input>
    

    简单实现: 按名称搜索:

    <input type="text" ng-model="searchData.name">
    <div ng-repeat="chat in chats | filter:searchData"> {{chat.name}}</div>
    

    工作演示:

    https://plnkr.co/edit/t6B6fZDRCSLuBN36GLVD?p=preview

    【讨论】:

    • 对不起,它不工作,重复工作但不过滤。
    • 谢谢。我试了试。非常感谢 。我怎么了。我应该向过滤器发送一个数组吗?
    • 是的,您需要将对象发送给它
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-09
    • 1970-01-01
    • 1970-01-01
    • 2015-10-20
    相关资源
    最近更新 更多