2016-01-04 3 views
0

С RiotJS Я создал простой элемент, который содержит контент для контента, который можно изменить для пользователя (myFunction будет стилизовать его по некоторым критериям).RiotJS (& web2py): Сохранять два элемента в синхронизации

Теперь я хочу иметь этот элемент в начале и в конце моего веб-сайта, и они должны быть синхронизированы друг с другом ... возможно ли это вообще?

Если нет, возможно ли иметь привязку в одностороннем режиме (изменения в верхнем элементе будут отображаться внизу, но не обязательно наоборот)?

Кроме того, было бы также хорошо, чтобы просто текст (не редактируется, а не с тем же элементом бунта), как показано в нижней части ...

RiotJS элемент: (код функциональна до сих пор, может некоторые небольшие ошибки в этой части коды, хотя, потому что это урезанная и слегка модифицированная версия того, что я рабочий :-))

<my-element> 
    <div id="content" contenteditable="true" onkeyup="{myFunction}">{editableText}</div> 
    <style>...</style> 
    <script> 
    this.editableText = opts.text 
    ... // more content 
    </script> 
</my-element> 

Монтаж в HTML:

<html> 
<!-- start of page content --> 
<my-element></my-element> 
<script src="{%=URL(r=request,c='static/js/riot',f='my-element.tag')%}" type="riot/tag"></script> 

{%element_text_or_empty = XML(T(someText.content)) if someText else ''%} 

<script> 
    var textToUse = "{%=element_text_or_empty%}"; 
    riot.mount('my-element', {text: textToUse}) 
</script> 

<!-- more content --> 

<!-- repeat my-element with same (edited) content as above --> 
<!-- what to write here? --> 
</html> 

Примечание: Я использую web2py рамки, вот где

{%element_text_or_empty = XML(T(someText.content)) if someText else ''%} 

часть приходит.

ответ

0

Я не знаю, если это единственная проблема, но:

var textToUse = "{%element_text_or_empty%}"; 

должно быть:

var textToUse = "{%=element_text_or_empty%}"; 

Обратите внимание на отсутствие "=".

Смежные вопросы