アプリケーションで使用できるドロワーのディレクティブを作成しようとしています。私がやりたいことはこれです: ユーザーが 1 つの引き出しを開くと、現在開いている他の引き出しを閉じる必要があります。
これは私の現在のコードです:
マークアップ
<a href="javascript:;" id="my_switch">
Click me to toggle the drawer!
</a>
<drawer data-switch="#my_switch">
Content of the first drawer
</drawer>
<a href="javascript:;" id="my_other_switch">
Click me to toggle the other drawer!
</a>
<drawer>
Content of the second drawer
</drawer>
Drawer.html
<div class="drawer_container">
<div class="drawer" ng-transclude>
</div>
</div>
指令
MyApp.directive('drawer', function(DrawerService){
return {
restrict: 'AE',
replace: true,
transclude: true,
templateUrl: 'drawer.html',
link: function(scope, element, attributes){
var drawer_switch = $(attributes.switch);
var drawer = $(element).find('.drawer');
var toggle = function(event){
drawer.toggle();
};
drawer_switch.bind('click', toggle);
}
};
});
ディレクティブのみを使用して、1 つの引き出しを開くと、残りの引き出しが閉じられる可能性はありますか?