Преобразование AngularJS в Firebase

#angularjs #firebase #angularfire

#angularjs #firebase #angularfire

Вопрос:

Я пытаюсь преобразовать простое небольшое приложение для поиска из конечной точки PHP в Firebase.

Я преобразовал контроллер, и он работает для отображения данных из firebase.

СТАРАЯ конечная точка PHP

 app.controller('InstantSearchController', ['$scope', '$http', function($scope, $http) {
    $http.get('inc/api.php').success(function(itemData) {
        $scope.items = itemData;
    });
}]);
  

Новая конечная точка Firebase

 app.controller('InstantSearchController', ['$scope', '$firebase', function($scope, $firebase) {
    var medRef = new Firebase("https://dazzling-fire-####.firebaseio.com/");
    $scope.items = $firebase(medRef);
}]);
  

Но я не уверен на 100%, как поменять местами app.filter, чтобы использовать данные firebase.

Вот что это было с конечной точкой PHP

 app.filter('searchFor', function(){

  return function(arr, searchString){
    if(!searchString){
      return arr;
    }
    var result = [];
    searchString = searchString.toLowerCase();
    angular.forEach(arr, function(item){
      if(item.english.toLowerCase().indexOf(searchString) !== -1){
        result.push(item);
      }
      if(item.spain.toLowerCase().indexOf(searchString) !== -1){
        result.push(item);
      }
      if(item.germany.toLowerCase().indexOf(searchString) !== -1){
        result.push(item);
      }
      if(item.france.toLowerCase().indexOf(searchString) !== -1){
        result.push(item);
      }
      if(item.philippines.toLowerCase().indexOf(searchString) !== -1){
        result.push(item);
      }
      });
    return resu<
  };

});
  

И это то, что, как я думал, «должно» работать, но это не так, после некоторого чтения и просмотра некоторых руководств я подумал, что мне нужно переключить элемент с идентификатором

 app.filter('searchFor', function(){

  return function(arr, searchString){
    if(!searchString){
      return arr;
    }
    var result = [];
    searchString = searchString.toLowerCase();
    return function(arr, searchString){
      if(!searchString){
        return arr;
      }
      var result = [];
      searchString = searchString.toLowerCase();
      angular.forEach(arr, function(id){
        if(id.english.toLowerCase().indexOf(searchString) !== -1){
          result.push(item);
        }
        if(id.spain.toLowerCase().indexOf(searchString) !== -1){
          result.push(item);
        }
        if(id.germany.toLowerCase().indexOf(searchString) !== -1){
          result.push(item);
        }
        if(id.france.toLowerCase().indexOf(searchString) !== -1){
          result.push(item);
        }
        if(id.philippines.toLowerCase().indexOf(searchString) !== -1){
          result.push(item);
        }
        });
      return resu<
    };
});    
  

Любая помощь, указывающая мне в правильном направлении, была бы отличной, я действительно пытаюсь изучить этот материал AngularJS / Firebase!

Комментарии:

1. для начала во втором примере «searchFor», откуда берется элемент? идентификатор передается в функцию (id), в предыдущем примере это была функция (item). Я не могу представить, что это работает даже близко к тому, как вы ожидаете. Можете ли вы собрать jsfiddle, чтобы я мог видеть, как он построен в настоящее время?