Я пытаюсь сделать это, когда кто-то нажимает на поле:Надавите серию дивы, когда другой DIV показан
Это кажется простым, если я положил серый DIV внутри ng-repeat
, когда пользователь нажимает на ящик, будет показан новый div.
<div ng-repeat="friend in friends" ng-click...>
<div>
{{friend}}
</div>
<div collapse="expand">
some content
</div>
</div>
Но, если я не хочу повторять серый div? (Скажем, это пучок html
, который не обязательно повторяться каждым элементом).
Итак, у меня есть this plunker, где серый div находится за пределами ng-repeat.
Есть ли какая-либо возможность делать то, что вы видите на изображении, с чистым CSS или каким-то трюком в угловых или javascript?
Я слышал, что я могу использовать jQuery для ввода html, но, возможно, может существовать более чистый способ.
соображения:
- Строка может иметь от одного до
n
пунктов.
То, что я пытался
- Поместите серый DIV с
position relative
, но это не оттолкнуть другие дивы.
Может быть сделать эту кучу кода директива является правильным способом? – rhgb
Правильно, но включение его в директиву не будет иметь главной проблемы, это, избегая повторения этой директивы по каждому элементу. – Coyolero
Вам нужно обернуть свой крах в директиву. Директива может вынуть всю часть из DOM и сохранить ее внутри себя. Затем вы можете вызвать его нажатием, и пусть оно будет вставлено в нужное место. Вам нужно зачитать DOM и сделать некоторые вычисления, чтобы они были вставлены в нужное место, но это вполне возможно. –