如何在聚合物表达式中引用 "this"

How to reference "this" in polymer expression

我想将当前的聚合物元素作为属性传递给另一个元素。使用 {{this}} returns 空。除了创建 returns 值

的属性之外,是否有受支持的方法来访问 "this" 的值

例子

<polymer-element name='my-el'>
  <template>
    <sub-element target={{this}}>

我认为没有。创建聚合物元素的新实例时,模板的范围是元素实例,表达式使用此范围进行评估。因此,{{this}} 是使用元素实例进行评估的,预计是模型上的 属性。

根据 the expression scopes section of the Polymer 0.5 documentation,您可以使用空绑定表达式:"{{}}"。请注意,这在 Polymer 1.0 中没有记录,因此不能保证,但它似乎仍然有效。

<polymer-element name="my-el">
  <template>
    <sub-element target="{{}}"></sub-element>
  </template>
</polymer-element>

或者,您可以使用所有聚合物元素都具有的 parentElement 属性。 Here's an example 来自使用 core-a11y-keys 进行键盘导航的文档。使用“parentElement”将如下所示:

<polymer-element name="my-el">
  <template>
    <sub-element target="{{parentElement}}"></sub-element>
  </template>
</polymer-element>

不过要小心parentElement。如果您移动该元素,其父元素可能会发生变化。

“{{}}”似乎是解决方案

我找不到关于它的文档,但它在 v0.5 中有效并且用于现有的聚合物组件(core-a11y-keys)