Polymer 有没有一种获得聚合物元素的通用方法';是数据集还是属性?

Polymer 有没有一种获得聚合物元素的通用方法';是数据集还是属性?,polymer,Polymer,我在自己的polymer元素中使用了“paper input”和“paper button”,因为e.target不是绑定数据集和属性的元素,所以在事件处理程序中获取数据集的方式不同。是否有获取聚合元素数据集或属性的常用方法 <dom-module id="login-form"> <template> <div> <form action="/login" method="POST"> <pa

我在自己的polymer元素中使用了“paper input”和“paper button”,因为
e.target
不是绑定数据集和属性的元素,所以在事件处理程序中获取数据集的方式不同。是否有获取聚合元素数据集或属性的常用方法

<dom-module id="login-form">
<template>
    <div>
        <form action="/login" method="POST">
            <paper-input id="username" >
                <paper-icon-button on-click="clearInput" data-elmid="username" suffix >
                </paper-icon-button>
            </paper-input>

            <paper-button class="custom indigo" data-hello="world" on-click="loginValidate">
                Login
            </paper-button>
        </form>

    </div>
</template>

<script>
    (function() {
        Polymer({
            is: 'login-form',
            clearInput: function(e) {
                console.log(e.target.dataHost.dataset.elmid);
            },
            loginValidate: function(e) {
                console.log(e.target.dataset.hello);
            }
        });
    })();
</script>
</dom-module>

登录
(功能(){
聚合物({
是:'登录表单',
clearInput:函数(e){
log(e.target.dataHost.dataset.elmid);
},
loginValidate:函数(e){
log(e.target.dataset.hello);
}
});
})();

看起来您的绑定有点不正确

要绑定
数据-
属性并能够使用
数据集
属性访问它,请在
数据foo$=value
中使用
$=
。否则,Polymer将属性转换为元素上的camelCase属性(即,
data foo=
将由
element.dataFoo
访问,而
data foo$=
将是
element.dataset.foo
)。 在您的示例中,Polymer在
上创建了
dataElmid
属性,在
上创建了
dataHello

下面是正确的示例:

<paper-input id="username">
    <!-- change `data-elmid="username"` to  `data-elmid$="username"` -->
    <paper-icon-button on-click="clearInput" data-elmid$="username" suffix >
    </paper-icon-button>
</paper-input>

<!-- change `data-hello="world"` to  `data-hello$="world"` -->
<paper-button class="custom indigo" data-hello$="world" on-click="loginValidate">
    Login
</paper-button>

登录

看起来您的绑定有点不正确

要绑定
数据-
属性并能够使用
数据集
属性访问它,请在
数据foo$=value
中使用
$=
。否则,Polymer将属性转换为元素上的camelCase属性(即,
data foo=
将由
element.dataFoo
访问,而
data foo$=
将是
element.dataset.foo
)。 在您的示例中,Polymer在
上创建了
dataElmid
属性,在
上创建了
dataHello

下面是正确的示例:

<paper-input id="username">
    <!-- change `data-elmid="username"` to  `data-elmid$="username"` -->
    <paper-icon-button on-click="clearInput" data-elmid$="username" suffix >
    </paper-icon-button>
</paper-input>

<!-- change `data-hello="world"` to  `data-hello$="world"` -->
<paper-button class="custom indigo" data-hello$="world" on-click="loginValidate">
    Login
</paper-button>

登录