приписать мой вариант, чтобы знать, какой элемент я должен повторить. Спасибо :)

час пытаюсь реализовать ретрансляторWebComponent чтобы позволить компании легко создавать фронт-энд, не завися от каких-либоframework (решение принимается архитектурой).

Вот мой текущий код:

<ul>
    <company-repeat datas='[{"name": "NameValeur", "value": "valeurId"}, {"name": "NameObject", "value": "objectId"}]'>
        <li>${name}</option>
    </company-repeat>
</ul>

<select name="" id="">
    <company-repeat datas='[{"name": "NameValeur", "value": "valeurId"}, {"name": "NameObject", "value": "objectId"}]'>
        <option value="${value}">${name}</option>
    </company-repeat>
</select>

list правильно работает, так как кажется, что нет никаких ограничений на то, какой тег разрешен внутри, но выбор не позволяетcustomElement company-repeat в нем и расширении, сломайте функцию и просто отобразите<option value="${value}">${name}</option>

Вот исходный код моегоWebComponent

class CompanyRepeater extends HTMLElement {
    connectedCallback() {
        this.render();
    }

    render() {
        let datas = JSON.parse(this.getAttribute('datas'));
        let elementType = this.getAttribute('element');
        this.template = this.innerHTML;
        console.log(elementType);

        let htmlContent = elementType !== null ? `<${elementType.toLowerCase()}>` : '';

        datas.forEach(elem => {
            htmlContent += this.interpolate(this.template, elem)}
        );

        htmlContent += elementType !== null ? `</${elementType.toLowerCase()}>` : '';

        this.innerHTML = htmlContent;
    }

    interpolate(template, obj) {
        for(var key in obj) {
            const pattern = "${" + key + "}";

            if(template.indexOf(pattern) > -1) {
                template = template.replace(pattern, obj[key]);
                delete(obj[key]);
            }
        };

        return template;
    }
}

customElements.define('company-repeat', CompanyRepeater);

Мой вопрос сейчас, как я могу заставить его работать, независимо от того, что родительский элемент? Я добавил недвижимостьelement моему репитеру, но он не позволяет мне объявлять больше атрибута, и он не будет работать внутри таблицы.

Это единственное, что мешает мне перевести все на WebComponent.

Ответы на вопрос(1)

Ваш ответ на вопрос