2014-10-29 2 views
1

Я пытаюсь сделать простое расширение элемента таблицы. Если вы можете нажать td, тогда он станет доступен для редактирования, и когда вы отредактируете данные, они автоматически сохраняются через службу REST.Как автоматически связывать свойства в вложенных шаблонах повторения в полимере?

Here's what I got so far

Как вы можете видеть, вы можете нажать на ТД и редактировать их, но данные не получает сохранялось на другую сторону (что firebase в данном случае). Это потому, что данные в td не привязаны к свойствам данных, из которых они пришли. Может ли кто-нибудь сказать мне, как я могу снова связать их с этим имуществом? Или каким-либо другим способом я могу сохранить данные в правильной строке и ключе?

+0

Просто думать ... насколько я знаю contenteditable событие изменения не поддерживается полимер , Вы можете использовать onkeys для обновления модели вручную. это. $. data [key] = ... – sesteva

+0

Тогда я не уверен, как я могу определить, какое тд принадлежит какому-либо свойству данных. Есть ли у вас какие-либо идеи? – Evert

ответ

0

Sevesta сказал мне, что это можно сделать только вручную, поэтому я дал все td дополнительные атрибуты данных, чтобы я мог их идентифицировать, а затем в функции stopEditing() я обновляю модели вручную.

See here.

1

Насколько я знаю contenteditable событие изменения не поддерживается полимером. Вы можете использовать onkeys для обновления модели вручную. В экранном * обработчике, вы можете получить доступ к имени экземпляра модели с использованием: e.target.templateInstance.model .:

<polymer-element name="x-foo"> 
    <template> 
    <template repeat="{{user in users}}"> 
     <div on-click="{{clickHandler}}">{{user.name}}</div> 
    </template> 
    </template> 
    <script> 
    Polymer('x-foo', { 
     clickHandler: function(e, detail, sender) { 
     console.log(sender.templateInstance.model.user.name); 
     } 
    }); 
    </script> 
</polymer-element> 
Смежные вопросы