У меня есть список аккордеона, в котором я хочу иметь возможность открывать определенные предметы. Я создал аккордеон-открытую директиву, которая должна открыть конкретный элемент, если shouldBeOpen true
Вот элемент HTML (элементы печатаются в цикле)
<div class="m-list-item-head accordion-item" accordion-open="{{shouldBeOpen}}">
И вот моя специальная директива
(function () {
'use strict';
angular.module('myApp').directive('accordionOpen', function () {
return {
restrict: 'A',
link: function(scope, element) {
if (open) {
$(element).closest('.accordion-item').siblings().slideDown('fast');
$(element).closest('.accordion-item').addClass('opened');
}
}
}
});
})();
Я не могу прочитать содержание аккордеона в директиве.
Интерполяционные выражения не требуются. Итак, измените на:
accordion-open="shouldBeOpen"
Затем добавьте attrs
к вашей функции ссылок:
link: function(scope, element, attrs)
И используйте $eval
чтобы получить значение атрибута в вашей функции ссылок:
console.log(scope.$eval(attrs.accordionOpen))