Создание фреймворка для SPA на чистом JavaScript. Урок 4. Роутинг

Поділитися
Вставка
  • Опубліковано 13 гру 2024

КОМЕНТАРІ • 11

  • @artmas8118
    @artmas8118 7 років тому +1

    Спасибо большое. Жду продолжения

  • @cleverdeveloper1042
    @cleverdeveloper1042 5 років тому +1

    Для тех, у кого не работает, попробуйте поставить false третьим параметром:
    window.addEventListener("hashchange", function(){
    console.log(window.location.hash)
    },
    false);

  • @АлексейБобриков-п5р

    Если кто-то из 2023, есть одно улучшение, которое позволит добавлять бесконечно много одинаковых компонентов и не париться по поводу порядка компонентов и их вложенности друг в друга
    export class Module {
    initComponents() {
    while (this.components.some(c => c.render())) {}
    }
    }
    export class Component {
    render() {
    const el = document.querySelector(this.selector);
    if (!el) return false;
    el.insertAdjacentHTML('beforebegin', this.template);
    el.remove();
    return true;
    }
    }

  • @krasnokutsky-denis
    @krasnokutsky-denis 6 років тому

    супер

  • @TitovAndrei
    @TitovAndrei 6 років тому

    Почему может ошибка выдавать на 'render'? После 19:50 - до этого всё нормально.
    Uncaught (in promise) TypeError: c.render is not a function
    at app_module_AppModule.renderComponent (index.js_+_12_modules:56)
    at app_module_AppModule.renderRoute (index.js_+_12_modules:53)
    at app_module_AppModule.initRoutes (index.js_+_12_modules:47)
    at app_module_AppModule.start (index.js_+_12_modules:39)
    at bootstrap (index.js_+_12_modules:5)
    at wfm.delay.then (index.js_+_12_modules:198)

  • @ВиталийМашанов-е3ч
    @ВиталийМашанов-е3ч 6 років тому +1

    хммм... Не понимаю, почему у меня не работает
    initRoutes(){
    window.addEventListener("hashchange", () => {
    console.log(window.location.hash)
    })
    }

  • @mykhalko07
    @mykhalko07 5 років тому

    топ

  • @АлександрЗаплитный-ф2д

    Кто-то исходники ангуляра посмотрел)

    • @NextgenSocialReptile
      @NextgenSocialReptile 7 років тому +1

      Александр Заплитный, в ангуляре все намного сложнее)
      я взял просто их интерфейс и нэймспейсинг для удобства, чтоб названия не придумывать. В первом уроке про это говорил

    • @IgorMafon
      @IgorMafon 7 років тому +2

      Саня, так все фрэймворки работают, потому что это основа) просто в каждом уже детализируется работа с ДОМом по-разному) тебя не смутило, что метода render в ангуляре нет?) Короче, я тебя дизлайкаю, ты не прав))
      Автор, за видос спасибо, хороший код пишешь, правильная архитектура, хорошая практика ООП в новом синтаксисе для тех, кто с ним не знаком, продолжай, успехов тебе! А на Саню не обращай внимание, он не со зла))

    • @NextgenSocialReptile
      @NextgenSocialReptile 7 років тому +1

      Игорь Геворкян, спасибо)
      Никаких обид, ведь сколько людей столько мнений)
      И даже если бы это был копипаст, то суть данного миникурса показать некоторые решения и их последовательно применить)