Передать переменную в пользовательскую директиву Angular

0

У меня есть список аккордеона, в котором я хочу иметь возможность открывать определенные предметы. Я создал аккордеон-открытую директиву, которая должна открыть конкретный элемент, если 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');
          }
      }
    }
  });
})();

Я не могу прочитать содержание аккордеона в директиве.

Теги:

1 ответ

1

Интерполяционные выражения не требуются. Итак, измените на:

accordion-open="shouldBeOpen"

Затем добавьте attrs к вашей функции ссылок:

link: function(scope, element, attrs)

И используйте $eval чтобы получить значение атрибута в вашей функции ссылок:

console.log(scope.$eval(attrs.accordionOpen))

Ещё вопросы

Сообщество Overcoder
Наверх
Меню