У меня есть раскрывающаяся кнопка. Если я выберу элемент из раскрывающегося списка, действие основной кнопки должно измениться на действие элементов и содержимое тоже.
Я попробовал одну версию, как вы можете видеть выше, с контроллером:
<div class="btn-group">
<button type="button" class="btn" ng-click="mainFunction()">{{buttonCaption}}</button>
<button type="button" class="btn dropdown-toggle">
<span class="caret"></span>
<span class="sr-only">Split button!</span>
</button>
<ul class="dropdown-menu" role="menu">
<li><a href="#" ng-click="update('Action', func1); func1()">Action</a></li>
<li><a href="#" ng-click="update('Another action', func2); func2()">Another action</a></li>
<li><a href="#" ng-click="update('Something else here', func3); func3()">Something else here</a></li>
</ul>
</div>
Но это действительно уродливо, и было бы лучше с директивой, для работы более одной кнопки выпадающего списка. Как-то директива должна изменить поведение основной кнопки ng-click
на выбранный элемент. Вот так:
<!-- button one -->
<div class="btn-group" dropdown>
<button type="button" class="btn btn-danger">{{button1.name}}</button>
<button type="button" class="btn btn-danger dropdown-toggle">
<span class="caret"></span>
<span class="sr-only">Split button!</span>
</button>
<ul class="dropdown-menu" role="menu">
<li><a href="#" ng-click="func1()">do something</a></li>
<li><a href="#" ng-click="func2()">do anything</a></li>
</ul>
</div>
<!-- button two -->
<div class="btn-group" dropdown>
<button type="button" class="btn btn-primary">{{button2.name}}</button>
<button type="button" class="btn btn-primary dropdown-toggle">
<span class="caret"></span>
<span class="sr-only">Split button!</span>
</button>
<ul class="dropdown-menu" role="menu">
<li><a href="#" ng-click="func1()">Action</a></li>
<li><a href="#" ng-click="func2()">Another action</a></li>
<li><a href="#" ng-click="func3()">Something else here</a></li>
</ul>
</div>
У кого-нибудь есть хорошая идея или пример для этого?