Показать сообщение отдельно
  #1 (permalink)  
Старый 18.02.2022, 11:51
Аспирант
Отправить личное сообщение для Alexander3928 Посмотреть профиль Найти все сообщения от Alexander3928
 
Регистрация: 19.05.2021
Сообщений: 75

Как вызвать функцию и ее элементы из другого файла?
Добрый день всем! Забыл эти тонкости с функциями, когда функция в другом файле, а нужно ее элементы записать внутри другого элемента. Дает undefined

HTML
<main class="main">
  <div class="container"></div>
</main>
 <script type="module" src="./init.js"></script>


init файл
import { functeSt1 } from './cube.js';
import { functeSt2 } from './test.js'

const initMenu = document.querySelector(".header__menu");

initMenu.addEventListener("click", funcInitMenu);

function funcInitMenu(event) {
    const target = event.target;
    const container = document.querySelector(".container");

    if (target.id === "test1") {
        container.innerHTML = functeSt1();
        console.log("1");
    }
    if (target.id === "test2") {
        container.innerHTML = functeSt2();
        console.log("2");
    }
}


2 файл
function functeSt1() {

    const container = document.querySelector(".container");

    const test1 = `
        <button>TEST1</button>
    `;

    const test2 = `
        <button>TEST2</button>
    `;

    const test3 = `
        <button>TEST3</button>
    `;
    container.innerHTML = test1;
    container.innerHTML += test2;
    container.innerHTML += test3;

    // return functeSt1(); /* Error Maximum call stack size exceeded*/
    // return test1, test2, test3; /* Неудобно + загрузится только последний test3 */
}

export {functeSt1}

3 файл
function functeSt2() {
    const container = document.querySelector(".container");

    function html1() {
        const test2 = `
            <button>TEST2</button>
        `;
        container.innerHTML = test2;
    }

    function html2() {
        const test3 = `
            <button>TEST3</button>
        `;
        container.innerHTML += test3;
    }
}

export { functeSt2 }
Ответить с цитированием