Как написать Polymer3 Mixin в Typescript - PullRequest
1 голос
/ 27 апреля 2019

Если я попытаюсь написать полимерный миксин, который имеет собственные свойства в Typescript, произойдет сбой со следующей ошибкой:

xxx неправильно расширяет гггг

тип свойств несовместим

Я сделал как это (но в Typescript) Есть ли способ решить без ts-ignore?

Пример кода:

function VisuElement<B extends Constructor<any>>(base: B) {
    return class extends base {
        constructor(...args: any[]) {
            super();
            this._ve = true;
            this._veBindings = [];
        }

        static get properties() {
            return {
                unbindOnUnload: Boolean //Needed when a Element is created via a Dom repeat
            }
        }
    }
}

использование:

class VisuSignalValueDisplay extends VisuElement(PolymerElement) {
    static get template() {
        return html`
        <div></div>
`;
    }

    static get is() { return 'visu-signal-value-display'; }

    static get properties() {
        return {
            signalName: String
        };
    }
}
...