Polymer 2.x: Behavior mixins using class extension; error: Class constructor cannot be invoked without 'new'
Polymer 2.x: Behavior mixins using class extension; error: Class constructor cannot be invoked without 'new'
我正在尝试使用 class 扩展实现行为混合,如 here and here 所述。
设置列表-text.html
<link rel="import" href="settings-item-switch.html">
...
<script>
class SettingsListText extends SettingsItemSwitch(Polymer.Element) {
但我不断收到以下控制台错误。
settings-list-text.html:32 Uncaught TypeError: Class constructor SettingsItemSwitch cannot be invoked without 'new' at settings-list-text.html:32
设置项-switch.html
<script>
class SettingsItemSwitch extends Polymer.Element {
如何使用 Polymer 2.x 导入使用 class es6 扩展的自定义行为混合?
你可以这样做。
const { SettingsItemSwitch } = [your namespace].[mixins_dir];
class SettingsListText extends SettingsItemSwitch(Polymer.Element) {
...
}
命名空间可以是 window.AppName
并且 mixins_dir
是你的 mixin 所在的地方。
看看https://www.polymer-project.org/2.0/docs/devguide/custom-elements#mixins
您的混合代码应如下所示:
<script>
/**
* @mixinFunction
* @polymer
*/
MyMixin = (superclass) =>
/**
* @mixinClass
* @polymer
*/
class extends superclass {
constructor() {
super();
}
myFunc(myParam) {
//do something
}
}
</script>
我正在尝试使用 class 扩展实现行为混合,如 here and here 所述。
设置列表-text.html<link rel="import" href="settings-item-switch.html">
...
<script>
class SettingsListText extends SettingsItemSwitch(Polymer.Element) {
但我不断收到以下控制台错误。
设置项-switch.htmlsettings-list-text.html:32 Uncaught TypeError: Class constructor SettingsItemSwitch cannot be invoked without 'new' at settings-list-text.html:32
<script>
class SettingsItemSwitch extends Polymer.Element {
如何使用 Polymer 2.x 导入使用 class es6 扩展的自定义行为混合?
你可以这样做。
const { SettingsItemSwitch } = [your namespace].[mixins_dir];
class SettingsListText extends SettingsItemSwitch(Polymer.Element) {
...
}
命名空间可以是 window.AppName
并且 mixins_dir
是你的 mixin 所在的地方。
看看https://www.polymer-project.org/2.0/docs/devguide/custom-elements#mixins
您的混合代码应如下所示:
<script>
/**
* @mixinFunction
* @polymer
*/
MyMixin = (superclass) =>
/**
* @mixinClass
* @polymer
*/
class extends superclass {
constructor() {
super();
}
myFunc(myParam) {
//do something
}
}
</script>