Я могу получить двустороннюю привязку для работы, если я заменил div на contentEditable = "true" на текстовое поле, но мне не нравится, как область текста ведет себя на странице. Есть ли что-нибудь, что можно добавить к шаблону, чтобы заставить это работать, или пользовательский тег, который бы это сделал? Здесь div заполняется и редактируется, но он не записывает измененное содержимое.
Если я заменил его уродливым textarea, он отлично работает.
Я уверен, что я мог бы взломать это с помощью скрытого ввода и некоторого jquery, но я бы предпочел не делать этого.
<script id="lcaSummaryBodyTemplate" type="text/x-jsrender">
{^{for items}}
<div class="bodyItem">
<div class="colDec">
<p>{{>title}}</p>
{^{if type == "select"}}
<select data-link="val">
{^{for options}}
<option value="{{:value}}">{{:text}}</option>
{{/for}}
</select>
{{else}}
{^{if type == "date"}}
<input data-link="val" class="date" />
{{else}}
<div data-link="val" contentEditable="true"></div>
{{/if}}
{{/if}}
</div>
<div class="colHist">
<p>{{>title}}</p>
{{if type == "date"}}
<div class="date" data-link="histVal"></div>
{{else}}
<div>{{>histVal}}</div>
{{/if}}
</div>
</div>
{{/for}}
</script>
В настоящее время он не поддерживается JsViews, но он запланирован и должен скоро появиться. Я обновлю это, когда оно станет доступным...