聚合物injectBoundHTML()无法正常工作

时间:2015-01-26 12:11:51

标签: javascript ajax html5 event-handling polymer

显示事件的元素。事件来自JSON文件,由core-ajax

加载

它有一个细节和一个非细节模板,可以切换。 首先加载非详细信息模板,然后您可以切换其他信息并加载第二个模板。

    <template if="{{showDetail}}"  >
        <core-ajax auto
        response="{{data}}"
        on-core-response="{{ajaxHandler}}"
        url ="http://localhost:8080/myevents/getDetailEvent={{nummer}}"; 
        handleAs="json"></core-ajax>

    <div class="showbox" >
        <h2 id= "title"> </h2>

        <p><b>Start:</b> {{data.startDate }}</p>
        <p><b>Ende:</b> {{data.endDate }}</p>

         <p id = "place"></p> </br>
         <p id = "description"></p> </br>
         <p id = "manager"></p> </br>
         <button on-tap="{{toggleView}}">Less</button>
    </div>
    </template>

非详细模板

    <template if="{{!showDetail}}" >
        <core-ajax auto
        response="{{data}}"
        on-core-response="{{ajaxHandler}}"
        url ="http://localhost:8080/myevents/getEvent={{number}}"; 
        handleAs="json"></core-ajax>

        <div class="showbox" >
            <h2 id= "title"> </h2>
            <p><b>Start:</b> {{data.startDate}}</p>
            <p id = "description"></p> </br>
            <button on-tap="{{toggleView}}">More</button>
        </div>
    </template>

在我的JSON中,我有很多HTML标签,这就是我使用injectBoundHTML()在屏幕上输出它们的原因。这是我的dataChanged方法,在第一次加载组件时调用,或者我单击切换按钮:

    dataChanged : function() {

    if (this.data){

        if(this.showDetail) {
            this.injectBoundHTML(this.data.titleDe, this.$.titleDe);
            this.injectBoundHTML(this.data.description, this.$.description);
            this.injectBoundHTML(this.data.manager, this.$.manager);
        } else {

            this.injectBoundHTML(this.data.titleDe, this.$.titleDe);
            this.injectBoundHTML(this.data.description, this.$.description);
        }
    }
}

第一次加载组件时,injectBoundHTML()正在运行并注入来自json的所有内容。当我按下切换按钮时,不会发生注射!如果我在没有注入的dataChanged方法中添加JSON内容,它就可以了!

我做错了什么?

0 个答案:

没有答案