Этот plunkr иллюстрирует выпуск AngularJS имеет определенные HTML-элементы (в частности таблицы ре: gist --this почему ui.bootstrap.collapse не работает с таблицами либо)Манипулирование DOM в AngularJS вне директивы?
Как вы можете видеть из plunkr, я может скрыть и удалить статические строки в порядке, но сгенерированные строки, через ng-repeat
, не работают. Использование ng-transclude
также не затрагивает проблему, так как браузер будет изменять порядок узлов или удалять узлы, у которых нет соответствующих корневых элементов.
Ядро того, что я хотел бы сделать, это создать расширяемые строки в таблице. Каждое расширение представляет собой достаточно сложную структуру таблицы, которая включает в себя вложенные `нг-повторы
Я знаю, я мог переписать мои таблицы Div с таблицы стилизации, или пытаться создать директиву для таблицы расширения, но мне кажется, как тонну дополнительной работы только по существу есть это:
<tr onclick="$('#exp').toggle()">
<td>1</td>
</tr>
<tr id='exp'>
<td>2</td>
</tr>
Так есть альтернатива, идиоматический Угловой способ установки OnClick обработчиков без всех этих хлопот, или я просто говорю «eff it Dude, lets go bowling,» и просто провод вверх по onclick в моем html.
Что случилось с использованием нг скрытия ([Plunker] (http://plnkr.co/edit/cyOGRf2D5IO2WVdqYGSl))? – Stewie
Теперь я кажусь немного глупым :). Последующий вопрос, я бы хотел применить стили CSS на основе кликов. Таким образом, не только показать скрытую строку, но и изменить стиль строки, которая была нажата. – Alan
'ng-class' на помощь. Этот [plunker] (http://plnkr.co/edit/rmHTK0KIrCvTfswZE2OQ) показывает два разных подхода ('ng-class =" {active:! HideRow2} "или' ng-class = "{false: 'active', true: 'default'} [hideRow4] "' для двух конкретных классов. – Stewie