Javascript [dom bind::\u createEventHandler]:未定义侦听器方法

Javascript [dom bind::\u createEventHandler]:未定义侦听器方法,javascript,html,dom,onclick,polymer-1.0,Javascript,Html,Dom,Onclick,Polymer 1.0,我正在尝试聚合物,但在注册方法和调用方法时遇到问题,我在互联网上尝试了所有方法,但似乎都不起作用,我在这方面花费了太多时间,但没有结果,请帮助我 这是我的密码: <dom-module id="products-list"> <template> <template is="dom-bind"> <iron-ajax id="ajax" auto handle-as="json" last-response="{{aja

我正在尝试聚合物,但在注册方法和调用方法时遇到问题,我在互联网上尝试了所有方法,但似乎都不起作用,我在这方面花费了太多时间,但没有结果,请帮助我

这是我的密码:

<dom-module id="products-list">
<template>
<template is="dom-bind">
   <iron-ajax id="ajax" auto
       handle-as="json"
       last-response="{{ajaxResponse}}"></iron-ajax>
   <div class="main">
     <template is="dom-repeat" items="[[ajaxResponse.dataResult]]">
       <paper-card heading="[[item.name]]" image="[[item.image]]" class="pb16 w100 flex layout horizontal">
            <div class="card-content">[[item.desc]]</div>
            <div class="card-actions">
                <paper-item>
                    <strong>[[item.price]]</strong>
                    <div class="flex"></div>
                    <paper-button on-click="_addToCart" raised><iron-icon icon="icons:add-shopping-cart"></iron-icon>Add to cart</paper-button>
                </paper-item>
            </div>
       </paper-card>
     </template>
 </div>
</template>
</template>
 <script>
    Polymer({
        is: "products-list",
        ready: function() {
            var baseUrl = getBaseURL();
            var token = getAccessToken();
            var namespace = getNamespace();
            var appKey = getAppKey();
            var appSecret = getAppSecret();
            var url = baseUrl + '/stream/product.json';
            var params = {
                'page' : 0,
                'size' : 25
            };
            var headers = {
                'X-Auth-Token' : token,
                'X-NAME-SPACE' : namespace,
                'X-APP-KEY' : appKey,
                'X-APP-SECRET' : appSecret,
            };
            var ajax = document.querySelector("#ajax");
            ajax.url = url;
            ajax.headers = headers;
        },
        properties: {

        },
        _addToCart: function (e) {
            console.log('You pressed button ' + e.model.item.name);
        }
    });
 </script>

移除包装dom绑定一切都可以正常工作

<template is="dom-bind">...</template>
。。。

元素定义中不需要dom绑定。它用于普通HTML页面,并为元素启动一个新的“绑定上下文”。这就是它找不到方法的原因,因为它试图在元素定义之外找到事件处理程序方法。

我认为您已经解决了您的问题,因此对于其他问题,您只需将单击时的
替换为点击时的
事件,如下所示:

<paper-button id="addToCart" raised>
    <iron-icon icon="icons:add-shopping-cart"></iron-icon>
    Add to cart
</paper-button>

我不知道那个库,但你试过使用Polyer吗?\u addToCart?我已经试过了,但没用。这也是我的问题。从元素内部移除dom绑定后,一切正常。谢谢很高兴听到。投票赞成。干杯
<paper-button id="addToCart" raised>
    <iron-icon icon="icons:add-shopping-cart"></iron-icon>
    Add to cart
</paper-button>
this.$.addtoCart.addEventListener('click',this._addToCart.bind(this))