Javascript 聚合物给我“;未捕获的语法错误:意外标记(";

Javascript 聚合物给我“;未捕获的语法错误:意外标记(";,javascript,polymer,custom-component,Javascript,Polymer,Custom Component,在下面的聚合自定义组件中,当调用函数“deleteState”时(因此当我单击“delete”纸张项目时),我总是会得到“Uncaught SyntaxError:Unexpected token”(“来自Chrome”)。 在Firefox上,控制台中出现“SyntaxError:function语句需要名称”错误 <polymer-element name="tw-state" attributes="stateId"> <template> <styl

在下面的聚合自定义组件中,当调用函数“deleteState”时(因此当我单击“delete”纸张项目时),我总是会得到“Uncaught SyntaxError:Unexpected token”(“来自Chrome”)。 在Firefox上,控制台中出现“SyntaxError:function语句需要名称”错误

<polymer-element name="tw-state" attributes="stateId">
<template>
    <style>
       ...
    </style>

    <paper-shadow z="1">
        <div layout vertical>
            <div class="state-header" layout horizontal center-justified>
                <div flex style="margin: 10px">
                    <content select="h3"></content>
                </div>                    
                <paper-menu-button>
                    <paper-icon-button icon="menu" noink></paper-icon-button>
                    <paper-dropdown class="dropdown">
                        <core-menu class="menu">
                            <paper-item>Settings</paper-item>
                            <paper-item onclick="{{deleteState}}">Delete</paper-item>
                        </core-menu>
                    </paper-dropdown>
                </paper-menu-button>
            </div>
            <div class="state-body" layout vertical start>
                <content></content>
            </div>
            <div class="state-footer"  layout horizontal center-justified>
                <paper-input-decorator label="New task" flex>
                    <input is="core-input">
                </paper-input-decorator>
                <paper-button noink="" role="button" tabindex="0">
                    <core-icon icon="add" aria-label="add" role="img"></core-icon>
                </paper-button>
            </div>
        </div>
    </paper-shadow>

</template>
<script>
    Polymer({

        deleteState: function() {
            console.log("Fire event delete-state");
            this.fire('delete-state', {id: 'this.stateId'});
        }

    });
</script>

...
设置
删除
聚合物({
deleteState:function(){
日志(“火灾事件删除状态”);
this.fire('delete-state',{id:'this.stateId'});
}
});


在查看文档和大量示例后,我仍然看不出我哪里做错了…

在您的
文件项目中
您想要

而不是普通的
onclick
DOM处理程序。如果使用
onclick
字符串“{{deleteState}}}”,将作为JavaScript代码计算,从而导致上述错误


如果在单击时使用
,Polymer会计算此字符串并将
deleteState()
函数绑定为单击处理程序。

是否在定义
Polymer
时包含lib?是的,包含了它。下面的答案解决了我的问题。
on-click="{{deleteState}}"