1

以下は機能しますが、非常に扱いにくいことに注意してください。後で後悔する可能性がある、よりタイトにするためのヒントや落とし穴を探しています。

ネストされたオブジェクトの平坦化された配列:

$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>1 つは親用、もう 1 つは子用の 2 つのオブジェクトに入力し、それらの階層関係を維持する必要があります。そのため、親が選択されると、その下にない子は除外されます。

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/

4

0 に答える 0