将dom-change事件绑定到嵌套子模板,即使父模板为dom-if false也是如此

时间:2016-12-13 18:33:42

标签: javascript dom polymer polymer-1.0

我有parent template which is a dom-ifset to false at start。它有一个child template which is a dom-repeat。我希望bind a dom-change event to child template当我尝试在准备好的函数it says cannot find addEventListener of undefined中执行此操作时。在这种情况下如何绑定dom-change事件。

this.$.level.addEventListener("dom-change", function (event) {    
    console.log(event);
});

这是

的html
<template is="dom-repeat" id="levels" items="{{parentNodes}}">
    <template is="dom-repeat" id="level" items="{{item.children}}"> //want to bind dom-change event to this however it is not there on dom ready
        //some html here
    </template>
</template>

1 个答案:

答案 0 :(得分:0)

由于级别在dom-repeatdom-if之内,因此this.$.level别名不存在。您可以在页面上插入this.$$('#level')之后使用id={{someFunc(index)}}"(如果需要为true且重复运行)。

您将遇到一个问题,您可能会遇到多个ID“级别”,因此您应该拥有"level"+index和返回@if(item.RejectedQuestion > 0) { <img height="20" width="20" alt="Image" src="@Url.Content("~/content/images/icon_red_questions_returnedbyreviewer.gif")" /> } 的函数,或者通过类选择它们。