Создание фреймворка для SPA на чистом JavaScript. Урок 9. Директивы

preview_player
Показать описание
Премиум уроки по веб-разработке:

В данном уроке вы узнаете, как просто можно реализовать концепцию директив, взятых из фреймворка angular.

В данном уроке мы реализуем директивы и все что с ними связано. Вы узнаете как ими пользоваться и как передавать параметры.

В уроке нам так же потребуется реализовать концепцию EventEmitter для корректной работы директив при смене страницы.

Рекомендации по теме
Комментарии
Автор

Всё бы круто, но как быть с "if" а так же "for", саму идею уяснил. Вот в ангуларе директива читает свойства контроллера, т.е. типа того:
<span loop="i in items">{{ i.name }}</span> и контроллере просто пишем: $scope.items = ...[] и директива как то находит эти данные.
Сам луп реализовал, но вот как связать данные не придумал(только если явно в директиве указывать массив), есть идея но не уверен, что правильная: - Т.е. при инициализации директивы в основном модуле искать парента и у него спрашивать необходимое.
Но вот как найти если у тебя только шаблон вида:
<ul>
<li loop="i in items"><span>{{ i.name }}</span></li>
</ul>
Выходит директива ищет [loop] далее клонируем как шаблон, обрабатываем - рендер и выводим в родительском контейнере предварительно удалив шаблон. Вроде бы всё просто, но вот откуда "items" брать, как узнать?

estweetart
Автор

Я так и не понял, как запустить директиву например на homePageComponent или другой странице? Если просто поставить в какой нибудь тэг appHover = то не работает.

igorring