#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, чтобы я мог видеть, как он построен в настоящее время?