У меня есть несколько миксинов в проекте, который мне тоже назначен.
У некоторых их объекты установлены в свойствах как:
static get properties() {
return {
config: {
type: Object
}
}
}
В то время как другие конструкторы имеют свои объекты, установленные в конструкторе, например:
constructor() {
super();
this.language = {
name: "english",
label: "EN"
}
}
Я полагаю, что оба они доступны по всему миру, потому что миксины загружены повсюду.
Но в чем разница между обеими реализациями?
изменить (дополнительный код)
Эти миксины создаются следующим образом:
MyMixin = function (superClass) {
return class extends superClass {
static get properties() {
return {
config: {
type: Object
}
}
}
constructor() {
super();
}
или другой метод:
MyMixin = function (superClass) {
return class extends superClass {
static get properties() {
return {
}
}
constructor() {
super();
this.language = {
name: "english",
label: "EN"
}
}
и они используются другим компонентом следующим образом:
class HomePage extends MyMixin(Polymer.Element) {
...
}