2016-01-04 31 views
0

使用RiotJS我創建了一個簡單的元素,其中包含一個可供用戶修改的div(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%}"; 

注意失蹤 「=」。