Динамическая вставка строк в редактор кода ACE, angular JS

Это приложение, которое я делаю с помощью angular JS и flask в качестве бэкэнда.

Я в значительной степени следовал руководству по редактору кода ACE точно как показано здесь, и у меня есть такая большая часть кода работающий. Теперь я хочу сделать что-то вроде этого:

<div id= "editor">
    {{ '{{xml_string}}' }}
</div>

Где xml_string захватывается из бэкенда через вызов $http.get и передается в область внутри моего контроллера, как это. Я могу видеть xml_string полностью, когда делаю что-то вроде этого:

<p> {{'{{xml_string}}'}} </p>

Но по какой-то причине это не отображается в редакторе кода.

Теперь причина, по которой я использовал:

{{ '{{xml_string}}' }} 

вместо:

{{xml_string}}

это из-за конфликта между синтаксисом angular и синтаксисом flask/jinja. Я не думаю, что это проблема. У кого-нибудь есть совет, как сделать что-то подобное? При необходимости я могу опубликовать больше кода, но я надеюсь, что этого достаточно для описания проблемы.


person Zack    schedule 13.05.2014    source источник
comment
Когда вы запускаете редактор ACE? При загрузке страницы или после возврата ответа с сервера?   -  person Sean Vieira    schedule 14.05.2014
comment
@SeanVieira, я думаю, при загрузке страницы. Технически я все поменял, и теперь это директива, но редактор присутствует при загрузке страницы. Я хочу иметь возможность щелкнуть кнопку, и код заполнит редактор.   -  person Zack    schedule 14.05.2014


Ответы (1)


Вам нужно загрузить код в ACE, поскольку ACE, скорее всего, не отслеживает изменения DOM — вместо этого используйте editor.getSession().setValue(yourtext) (editor.setValue(yourText, -1) тоже подойдет, но оставляет запись в истории отмен)

person Sean Vieira    schedule 13.05.2014