ツリービューを表示する角度ディレクティブがあります。li アイコンをクリックすると、ネストされた UL が非表示になるはずです。
重要なコードは次のとおりです: (これは e がクリックイベントであるクリック関数にあります)
$toggler=$(e.target).closest('li');
if($toggler.hasClass("collapsed")){
$toggler.removeClass("collapsed").addClass("expanded");
} else {
$toggler.removeClass("expanded").addClass("collapsed");
}
$(".collapsed").find("ul").hide();
$(".expanded").find("ul").show();
デバッガーで、クラスが適切に割り当てられ、削除されていることを確認できます。ただし、最初にクラスを折りたたみとして設定した LI の最初のセットでのみ機能します。ツリーのより深いレベルはクラスの変更を示していますが、セレクターはそれらで機能しません。興味深いことに、より深い行をクリックすると、最初にルート行をクリックしたように動作します。その後は何もしません。
質問: セレクターが機能しないのはなぜですか?
ここに私の plunkr があります: http://plnkr.co/edit/GZ5MZjkir4AaNQmHIxFP?p=preview