#angularjs #angular-ui-bootstrap #accordion #bootstrap-accordion
#angularjs #angular-ui-bootstrap #аккордеон #bootstrap-accordion
Вопрос:
Я пытаюсь добавить элемент accordion, но нажатие на один заголовок accordion ни к чему не приводит (в моем приложении я действительно могу видеть переход содержимого, а затем переход, как если бы он столкнулся с каким-то условием, предписывающим ему сворачиваться).
Мне удалось извлечь поведение в следующем codepen:https://codepen.io/deepdown22/pen/LYNQYeb
<div ng-app="plunker" ng-cloak>
<div ng-controller="MainCtrl">
<h1>Hello {{name}}</h1>
<p>Start editing and see your changes reflected here!</p>
{{groups}}
<uib-accordion close-others="true">
<div uib-accordion-group class="panel-default" ng-repeat="group in groups" is-open="group.open">
<uib-accordion-heading>
{{group.title}}
</uib-accordion-heading>
{{group.content}}
</div>
</uib-accordion>
</div>
</div>
angular.module('plunker', ['ui.bootstrap']);
angular.module('plunker').controller('MainCtrl', function($scope) {
$scope.name = 'Plunker';
$scope.groups = [
{'title': 'a', 'content': 'b'},
{'title': 'c', 'content': 'd'}
];
});
Я уверен, что делаю что-то не так, но я не могу понять, что именно.
Ответ №1:
-
Сначала ознакомьтесь с документацией для uib-accordion (https://angular-ui.github.io/bootstrap /). Вы используете его неправильно. Не
<div uib-accordion>
это<uib-accordion>
-
Codepen бесполезен без css
Комментарии:
1. 1. Я использовал его не как <div uib-accordion>, а как <uib-accordion>. Ни один из них не работает. 2. Почему вы говорите, что это бесполезно без css? Для небольшого примера я не счел необходимым добавлять больше стиля.
2. Хорошо, проверьте, что версии bootstrap.css, ui-bootstrap.js и angular.js совместимы друг с другом. Проверьте morgul.github.io/ui-bootstrap4 Вам также нужны ngAnimate и ngTouch
3. Вот и все. Библиотека была несовместима с версией Bootstrap, которую я использовал (4). Спасибо за рекомендацию библиотеки, это выглядит многообещающе!
4. Хорошо. Пожалуйста, примите мой ответ как правильный, если он работает;)