聚合物,基于对象评估元素

Polymer, evaluate element based off object

本文关键字:对象 评估 元素 于对象 聚合物      更新时间:2023-09-26

我正在使用聚合物氖元素的瓷砖示例-我试图使每个扩展瓷砖独一无二。我第一次尝试如何做到这一点是传递一个字符串与网格项目,如

 {
      value: 1,
      color: 'blue',
      template: 'slide-1'
 }

并在新元素中呈现时对该元素进行评估,就像这样。(这是卡片模板本身)

<template>
<div id="fixed" class$="[[_computeFixedBackgroundClass(color)]]"></div>
<div id="card" class$="[[_computeCardClass(color)]]">
  <[[item.template]]></[[item.template]]>
</div>

这不起作用-但是我想知道是否有办法做到这一点,这样我就可以为每张卡的内容加载自定义元素。参考-https://elements.polymer-project.org/elements/neon-animation?view=demo:demo/index.html&active=neon-animated-pages,这是网格的例子,我试图取代每张卡的内容,一旦它被点击(fullsize-page-with-card.html,这里是所有的html为它- https://github.com/PolymerElements/neon-animation/tree/master/demo/grid)。这样做不对吗?或者我这里有语法错误。谢谢!

编辑:好的,所以我可以发送它,如果我把它添加到点击打开卡片,像这样

   scope._onTileClick = function(event) {
        this.$['fullsize-card'].color = event.detail.data.color;
        this.$['fullsize-card'].template = event.detail.data.template;
        this.$.pages.selected = 1;
    };

和在卡片的属性中像这样

 template: {
    type: String
  },

所以我可以评估它为[[template]],然而-问题仍然是如何调用自定义元素(动态)使用这个字符串。我可以传递一些属性并填充卡片或表单,这样它们就独一无二了,但我认为如果我可以在每张卡片中调用自定义元素,我将拥有更多的创作自由。

我有一个允许引用模板的元素。还有其他几个,但这个也允许数据绑定工作:https://github.com/Trakkasure/dom-bindref