【问题标题】:Unable to do Computed Databind无法进行计算数据绑定
【发布时间】:2016-02-29 00:39:12
【问题描述】:

我已经编写了一个函数 (Polymer 1.2.0) 来为 iron-ajax 返回一个 auth 标头,但无论我尝试什么,我都会收到消息 [dom-bind::_annotatedComputationEffect]: compute methodmakeheadersnot defined

除了这段代码,我还尝试了绑定 fn 的 `Polymer({is: 'dom-bind'} ... blah:fn()' 方式。

我做错了什么?以下是相关的代码块:

<div id="futuretweets" style="height: 400px">


    <template is="dom-bind" id="big-temp">


        <script>

            document.querySelector('template[is=dom-bind]').makeheaders = function () {
                var obj = {};
                obj.Authorization = "Bearer " + localStorage.getItem('userToken');
                return obj;
            };


        </script>

        <iron-localstorage name="auth" value="{{localtoken}}"></iron-localstorage>

        <iron-ajax url="api/twitter/v1/private/gettweets" last-response="{{data}}" auto
                   headers="{{makeheaders()}}"
                   handle-as="json">

        </iron-ajax>
        <iron-list items="[[data.futuretweets]]" as="item">
            <template id="tweet-item">
                <form is="iron-form" id="tweetform" method="post" action="api/twitter/v1/private/updatetweet"
                      headers="{{makeheaders()}}" contentType="application/json">
                    <div class="card layout horizontal center">
                        <paper-textarea label="Tweet">[[item.text]]</paper-textarea>
                        <p>datetime: [[item.datetime]]</p>
                    </div>
                    <paper-button>Save</paper-button>
                </form>
            </template>
        </iron-list>
    </template>


    <div id="tweeteditor">

    </div>

</div>

【问题讨论】:

    标签: javascript polymer polymer-1.0


    【解决方案1】:

    将脚本移到template 元素之外。模板是静态的。在您的代码中发生的情况是,您在将 dom-bind 的属性标记到 DOM 之后声明它。

    【讨论】:

    • 谢谢!我将脚本移到模板之后,它起作用了。
    猜你喜欢
    • 1970-01-01
    • 2013-05-01
    • 2020-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-13
    • 2012-02-11
    • 2015-08-02
    相关资源
    最近更新 更多