Angular.js通过ng-options ng-model代码审查过滤工厂

时间:2014-09-29 20:28:37

标签: angularjs angularjs-factory angular-filters angularjs-ng-options

请注意以下作品,但感觉非常笨重。我正在寻找任何使它变得更紧密的技巧,或者我可能会后悔的问题。

嵌套对象的展平数组:

$scope.parents = 
  [
    {"name":"parent 1", "id":"1",
        "children":  [
            {"name":"child 1a", "id":"1a", "parentid":"1"}, {"name":"child 1b", "id":"1b", "parentid":"1"}
        ]
    },
    {"name":"parent 2", "id":"2",
        "children":  [
            {"name":"child 2a", "id":"2a", "parentid":"2"}, {"name":"child 2b", "id":"2b", "parentid":"2"}
        ]
    }
  ];

需要填充两个<select>个对象,一个用于父项,一个用于子项,并保持其层次关系。因此,当选择父级时,过滤掉不在其下的子级:

ng-options="item.id for item in children | filter:{'id':  data.parents.id}"

以及选择子项时,将在模型中自动识别父项

 $scope.parents = $filter('filter')($scope.parents, {id: $scope.data.children.parentid});

我觉得我好像错过了什么。


http://jsfiddle.net/petarsubotic/65kwvnjz/11/

0 个答案:

没有答案