Json 角度和firebase下拉列表以进行动态筛选

Json 角度和firebase下拉列表以进行动态筛选,json,angularjs,html,firebase,Json,Angularjs,Html,Firebase,我有一个包含成就列表的应用程序。用户可以从该应用程序中添加成就。成就是存储在firebase中的json对象,如下所示: achv_date: "2 February, 2015" achv_department: digitalInnovation: "digitalInnovation" example:"example" achv_type: "example" date: 1422828000000 description: "fsafa"

我有一个包含成就列表的应用程序。用户可以从该应用程序中添加成就。成就是存储在firebase中的json对象,如下所示:

 achv_date: "2 February, 2015"
 achv_department:
         digitalInnovation: "digitalInnovation"
         example:"example"
 achv_type: "example"
 date: 1422828000000
 description: "fsafa"
 image: "data:image/j"
 name: "dsa"
<ul id='dropdown3' class='dropdown-content'>
<li  ng-repeat="department in departments"><a ng-click="filterBy(department)">{{department.$value}}</a></li>
</ul>
$scope.filterBy = function(checkbox){
 $scope.department = {};
 $scope.department.achv_department = {};
 $scope.department.achv_department = Object.defineProperty($scope.department.achv_department, checkbox.$id, {value: checkbox.$value});
        }
$scope.filterBy = function(checkbox){
            $scope.department = {};
            $scope.department[checkbox.$id] = checkbox.$value;
        }
这是department json对象,它以友好方式显示在用户可以选择的复选框列表中,然后它们也显示在下拉列表中,供用户对其进行筛选:
部门
金融:“金融”
人力资源:“人力资源”
数字创新:“数字创新”
示例:“示例”
营销:“营销”

我在我的应用程序中有一个下拉列表,我用它来制作一个过滤器。因此,用户选择的部门只会显示这些成就。 我的html下拉列表如下所示:

 achv_date: "2 February, 2015"
 achv_department:
         digitalInnovation: "digitalInnovation"
         example:"example"
 achv_type: "example"
 date: 1422828000000
 description: "fsafa"
 image: "data:image/j"
 name: "dsa"
<ul id='dropdown3' class='dropdown-content'>
<li  ng-repeat="department in departments"><a ng-click="filterBy(department)">{{department.$value}}</a></li>
</ul>
$scope.filterBy = function(checkbox){
 $scope.department = {};
 $scope.department.achv_department = {};
 $scope.department.achv_department = Object.defineProperty($scope.department.achv_department, checkbox.$id, {value: checkbox.$value});
        }
$scope.filterBy = function(checkbox){
            $scope.department = {};
            $scope.department[checkbox.$id] = checkbox.$value;
        }
我也有这段代码,它在某种程度上起作用,但它实际上检查用户选择的值,并在所有的成就属性中查找它。我希望
filterBy
方法只查看
department
属性,但我不知道如何使模型的日常部分工作

$scope.filterBy = function(checkbox){
            $scope.department = checkbox.$value;
   }

任何想法都是值得赞赏的。谢谢

因此我修复了如下问题:

 achv_date: "2 February, 2015"
 achv_department:
         digitalInnovation: "digitalInnovation"
         example:"example"
 achv_type: "example"
 date: 1422828000000
 description: "fsafa"
 image: "data:image/j"
 name: "dsa"
<ul id='dropdown3' class='dropdown-content'>
<li  ng-repeat="department in departments"><a ng-click="filterBy(department)">{{department.$value}}</a></li>
</ul>
$scope.filterBy = function(checkbox){
 $scope.department = {};
 $scope.department.achv_department = {};
 $scope.department.achv_department = Object.defineProperty($scope.department.achv_department, checkbox.$id, {value: checkbox.$value});
        }
$scope.filterBy = function(checkbox){
            $scope.department = {};
            $scope.department[checkbox.$id] = checkbox.$value;
        }
并在html中添加了这一行:

<li id="item" class="col s12 m6 l4" ng-repeat="(key, meeting) in meetings  | filter:{achv_department : department}" spinner-on-load>