Я хотел бы связать attr
и attr1
в следующем примере. Эти два параметра не зависят от data
(другие атрибуты). При использовании привязки этот путь между всеми «строками» существует только один общий объект данных. Я хочу, чтобы только два компонента одной итерации были связаны вместе.Параметры связывания двух полимерных компонентов внутри шаблона повторения
<template repeat"{{data in dataList}}">
<component1 attr="{{binding}}" />
<component2 attr2="{{binding}}" />
</template>
Моя первая идея состояла в том, чтобы связать атрибуты с переменной data
объекта:
<template repeat"{{data in dataList}}">
<component1 attr="{{data.binding}}" />
<component2 attr2="{{data.binding}}" />
</template>
Это решение, с другой стороны, это действительно некрасиво, потому что придает вид только данные объектной модели ПОЛУЧИТЬ в , Поскольку модель живет обычно дольше, чем компоненты, это может привести к огромным накладным расходам. Другой проблемой является сериализация, которая может завершиться неудачей из-за прикрепленных данных.
Есть ли элегантное решение? Единственное, что я представлял себе до сих пор, это обернуть объекты данных перед итерацией по набору данных. Этот подход, с другой стороны, вероятно, создаст проблемы с обновлением модели ...
Наивная мысль: не может быть область переменной, которая используется только внутри шаблона, ограниченного этим шаблоном? В частном случае шаблона повторения, кроме того, к одной итерации?
Спасибо за отличное решение. Я немного изменил код, чтобы быть независимым от фактических данных: создал 'bindings' массив и использовал переменную' index' в шаблоне повтора. http://plnkr.co/edit/eK0aLn4Tk29MxnkE7GZz?p=preview – simonseyer
Я рад, что вы нашли это решение полезным. Конечно, использование «индекса» обычно лучше; Я просто показываю рисунок. – mudasobwa
Работает ли этот синтаксис в Polymer 1.0? У меня есть аналогичный вопрос, что я спотыкаюсь через http://stackoverflow.com/questions/35001873/polymer-index-property-of-type-object-with-another-property – MandM