Можно ли программно получить исходный транслируемый контент в директиве Angular.js?
Я пытаюсь создать директиву editable
, которая может быть добавлена в любой div, позволяя пользователю редактировать содержимое HTML с помощью настраиваемых директив angular. (Цель проекта состоит в том, чтобы избежать необходимости добавлять бесконечные возможности графического интерфейса в приложении, поскольку пользователи могут просто редактировать HTML...), например:
<div editable>
<h1>Lorem Ipsem</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit...</p>
<clock>A custom directive</clock>
</div>
См. этот Plunker в качестве примера (http://plnkr.co/edit/nIrr9Lu0PZN2PdnhQOC6?p=preview):
- Нажмите значок редактирования на сплошной серой полосе, чтобы открыть редактор
- Введите в любой хорошо сформированный HTML с тегами:
(например,
<h1>A title</h1><p>some content</p><clock></clock>
) - Нажмите "Применить"
Что мне сейчас нравится:
- Он может быть добавлен в любой div
- Он может включать вложенные пользовательские директивы, используя $compile
- Он включает транслируемый контент
Что я еще не могу понять:
- Как получить исходный транскодированный контент для инициализации текстового поля
Внутри функции компиляции $transclude
, кажется, содержит шаблон для mydirective
, а с помощью функции контроллера $transclude
содержит посткомпилированный контент после того, как все было изменено, выведенные директивы и т.д.