javascript - polymer 给我 "Uncaught SyntaxError: Unexpected token ("

标签 javascript polymer custom-component

在下面的 Polymer 自定义组件中,当函数“deleteState”被调用时(所以当我点击“删除”纸张项目时)我总是从 Chrome 中得到“Uncaught SyntaxError: Unexpected token (”。 在 Firefox 上,我在控制台中收到“SyntaxError: function statement requires a name”错误。

<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>

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

最佳答案

在您的 paper-item 中,您需要 polymer event handler

on-click="{{deleteState}}"

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

如果您使用on-click,Polymer 会评估此字符串并将deleteState() 函数绑定(bind)为点击处理程序。

关于javascript - polymer 给我 "Uncaught SyntaxError: Unexpected token (",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28125395/

相关文章:

javascript - Firefox 43.0.2 中的“let”关键字不起作用

javascript - 在 Canvas 元素中对模拟渐变进行动画处理时的随机图案

css - 出现:inline custom element contains display:block elements?时出现什么问题

Polymer 核心图标未显示在 Firefox 上,而是显示在 Chrome 上

delphi - 数组属性、TList、TStringList 或 TCollection 等 (Delphi Win32)

JSF 1.2 facelets 自定义组件

php - 关于如何在 Javascript 和 PHP 中动态分配 Id 的更好想法

javascript - react native : Android app crashes, onNewIntent

routing - 如何在 Polymer Starter Kit 中设置 baseUrl?

php - 如何只选择特定选择器声明的 css