如何在light DOM中显示属性

时间:2016-03-17 08:31:28

标签: html5 polymer shadow-dom

我希望看到hello,但我看到{{someVar}}

<my-parent some-var="hello">
  <div>{{someVar}}</div>
</my-parent>

我将some-var="{{someVar}}"传递给<content>

<dom-module id="my-parent>
  <template>
    <content some-var="{{someVar}}"></content>
  </template>

  <script> Polymer({is: "my-parent"}); </script>
</dom-module>
  

我需要绑定此变量,这样如果我嵌入另一个组件而不是<div>,嵌入式组件可以更改父级属性

2 个答案:

答案 0 :(得分:3)

这有点难以解释..但是唯一可以看到{{someVar}}绑定的元素是包含my-parent的元素。 div不会在内容元素内部移动,它只是“投影”,因此它可视地呈现在该位置。这就是本机Shadow DOM的工作原理。

如果您需要对分布式子项执行某些操作,您可能需要使用effectiveChildNodes API https://www.polymer-project.org/1.0/docs/devguide/local-dom.html#effective-children

答案 1 :(得分:0)

some-child中,确保属性定义具有notify: true

properties: {
    locationHref: {
        type: String,
        notify: true
    }
}

请参阅https://www.polymer-project.org/1.0/docs/devguide/data-binding.html#property-notification