Filtering a Firebase list by another Firebase Object in Angularjs -
so have big firebase list want filter using firebase object binding to. if not bind 'search' object firebase filters fine, when bind firebase returns 0 results.
my controller:
.controller('testresultsctrl', ['$scope', 'syncdata', '$routeparams', '$firebase', '$filter', function($scope, syncdata, $routeparams, $firebase, $filter) { $scope.id = $routeparams.id; syncdata('tests/' + $routeparams.id).$bind($scope, 'test'); syncdata('tests/' + $routeparams.id + '/specs').$bind($scope, 'search'); syncdata('diagnoses').$bind($scope, 'all_diagnoses'); }]) my view:
<a href="" ng-repeat="diagnoses in all_diagnoses | orderbypriority | filter:search" class="list-group-item">{{diagnoses.title}}</a> a sample 'search' object:
{ "constant": true, "intermittent": true, "localized": true, "referred": false, "region": "hip" } a sample of 'diagnoses' firebase object/list:
{ "constant": true, "intermittent": true, "localized": true, "referred": false, "region": "hip", "title": "hip osteoarthritis" }, { "constant": true, "intermittent": false, "localized": false, "referred": true, "region": "neck", "title": "whiplash" } how filter correctly?
...and thank in advance!
the issue object returned $bind contains several $ methods angular trying filter against.
try this...
syncdata('tests/' + $routeparams.id + '/specs').$bind($scope, 'searchdirty'); $scope.$watch('searchdirty', function (search) { $scope.search = angular.fromjson(angular.tojson(search)); }); this strip out $ methods/values , return raw value of data.
Comments
Post a Comment