如何访问父元素中的子元素

时间:2017-09-12 09:18:33

标签: polymer-2.x

我正在创建一个元素,其中父元素有一个按钮。点击此按钮,子元素的属性正在发生变化。以下是代码段 -

<parent-element>
     <template is="dom-repeat" items="{{aa}}">
    <child-element id="aa{{index}}">
    <button on-tap="_clickFunction">
    </template>

_ClickFunction(){
            for(var i = 0; i < items.length; i++){           
               this.shadowRoot.querySelector("aa" + i).prop1 = true;
               this.shadowRoot.querySelector("aa" + i).prop2 = true;
            }
}
</parent-element>


<child-element>
    properties:{
        prop1: Boolean,
        prop2: Boolean,
}
</child-element>

如果不使用id或任何dom操作,它怎么可能。 如果有dom-repeat,如何访问特定子元素的属性。

1 个答案:

答案 0 :(得分:0)

试试这个:

_ClickFunction(e){
    let childItemIndex = e.model.index;
    var childItem = this.shadowRoot.getElementById(`aa${childItemIndex}`);
    item.prop1 = !!1;
    item.prop2 = !!1;
}