Magento 2 - Создать элемент html с атрибутом data-mage-init - с помощью Js / Jquery - PullRequest
0 голосов
/ 03 августа 2020

Я использую ajax для добавления / удаления элементов на странице. Когда элемент добавляется / удаляется, отображается виджет предупреждений. Я использую атрибут data-mage-init для запуска js при нажатии элемента. При добавлении нового элемента с jquery как я могу сгенерировать его с атрибутом data-mage-init?

1) Когда элемент создается в шаблоне, атрибут data-mage-init не отображается на странице, и он работает . (Js запускается при нажатии элемента 'a').

Шаблон:

                <div class="item">
                <div class="item-content">
                    <div class="name"><?= $product['name']; ?></div>
                    <div class="sku"><?= $product['sku']; ?></div>
                    <div class="remove-action">
                        <a
                            data-mage-init='{"learningPath": <?= json_encode(['removeUrl' => $block->getUrl('corporate/learning/removeCourse'), 'productId' => $product['id']]) ?>}'
                            href="#" class="action secondary"><?= __('Remove'); ?></a>
                    </div>
                </div>

Браузер:

enter image description here

..but when I generate that element with js then data-mage-init attribute is visible and its not working. Here is my code:

Js file:

$('.path-builder-selection .selection-container').append("" +
                        "\n" + data['product']['name'] + "" +
                        ""+ data['product']['sku'] + "" +
                        "" + data['remove_label'] + "\n" +
                        "");

Browser:

введите описание изображения здесь

Вывод: атрибут data-mage-init не анализируется, когда я создаю с ним новый элемент через js. Есть ли способ добавить элемент через js / jquery и добавить к нему атрибут data-mage-init. (Чтобы можно было удалить этот элемент позже, если потребуется, снова с помощью js, иначе я не могу удалить элемент, потому что data-mage-init не анализируется и js не запускается)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...