当前位置:  开发笔记 > 编程语言 > 正文

聚合物Dom-Repeat绑定到内容

如何解决《聚合物Dom-Repeat绑定到内容》经验,为你挑选了2个好方法。

在聚合物1.2.3中,是否可以dom-repeat使用内容作为模板并将值绑定到所提供的元素?

自定义元素:


  

用法:


  

我在没有帮助的情况下查看了以下资源:

Polymer:如何监视属性的变化

Polymer 1.0模板绑定ref等效

嵌套聚合物元素之间的数据绑定

https://github.com/grappendorf/grapp-template-ref

https://github.com/Trakkasure/dom-bindref

https://github.com/Polymer/polymer/issues/1852

https://github.com/Polymer/polymer/pull/2196


更新2016-02-03:从聚合物团队(PR#2196),计划在未来更好地支持这一点,以帮助解决一些缺点.



1> Zachary Mosh..:
TLDR

解决方案2虽然更加冗长,但似乎效果最好.它还允许您动态选择模板,可能基于模型的属性.(参见解决方案2:高级示例)


背景故事

在这个简单的例子中发生了很多事情,包括模板化,"获取"阴影,阴影和光线之间的内容,当然还有数据绑定.

这个问题提供了一些见解,但没有Polymer 0.5's injectBoundHtml它实际上是不可行的(使用在Polymer元素内的光dom中定义的模板).问题在于,当我们尝试使用innerHTML将元素复制到模板时,我们的数据绑定似乎会丢失(AFAIK).

因此,如果没有这个,我们就无法使用数据绑定动态创建模板.因此,两个解决方案都提前将内容包装在模板中; 这导致html变为惰性,并允许Polymer在适当的时间进行数据绑定(http://www.html5rocks.com/en/tutorials/webcomponents/template/).

如果你真的想明白了一切,我会推荐阅读聚合物srclib/template/dom-repeat.html,lib/template/templatizer.html,lib/annotations/annotations.html(〜1500行).


解决方案1 ​​ -

请参阅下面的btelle答案以获得改进的解决方案1.

注意,这种方法导致dom-repeat不自动呈现内容,因此我们手动调用render.

元件


  

  

用法


  


解决方案2

请注意,使用此内容的方法因元素1而异,因为