Нам понадобится выпадающий список, в котором будем выбирать по какому полю будет идти сортировка (например по заголовку или описанию)
Метка: Vue.js
фреймворк JavaScript
beforeCreate
хук
он вызывается в тот момент, когда компонент ещё не был создан. На этом этапе инициализируются события и инициализируется жизненный цикл. Сам хук является достаточно редким кейсом в использовании.
cretaed
хук
в этот момент в компонент добавляются различные инъекции и реактивность. В этом хуке можно делать какую то дефолтную реализацию, проверять какие то условия
Отрабатывает рендер функция
beforeMount
хук
отрабатывает до того, когда компонент монтируется в дерево
mounted
хук
отрабатывает, когда компонент полностью монтирован в дерево. Он часто используемый. Его мы можем использовать для запросов на сервер. Компонент монтировался, запрос сделали и сразу какие то данные отрисовали.
После того как компонент монтировали, в нём могут изменяться какие то данные. Соответственно компонент будет перерендереваться. Для того чтобы отслеживать эти обновления есть два хука.
beforeUpdate
хук
отрабатывает перед обновлением
update
хук
отрабатывает после
компонент демонтируется
делается очистка.
отписываемся от каких то событий, очищаем stor
Реализуем функцию, с помощью которой будем получать список постов с Сервера.
JSON Placeholder
сервис
Для этого воспользуемся сервисом, который позволяет с помощью запросов получать определённые данные. Мы делаем некий запрос и получаем некий ответ. Структура объектов должна быть точно такая же как и в приложении.
limit
За один запрос приходит много постов. Поэтому мы будем делать постраничный вывод (по 10 постов на страницу). В query параметр можно передать ?_limit=10
axios
библиотека
npm i axios
Модальное окно
Через нажатие кнопки Создать появляется диалог, в который вводим необходимые данные и создаём пост. Создадим переиспользуемый компонент диалогового окна.
Директива v-if или отрисовка по условию
вывести надпись, когда список например постов пустой
v-if
директива условие
если эта директива true, то блок, на котором прикреплена директива мы будем видеть (posts.length>0).
В обратной ситуации выведем какую то надпись
v-else
директива исключения
если не выполнилась v-if
v-else-if
директива исключения с условием
может сколько угодно быть. Так же создаётся условие и по цепочке проверяется до тех пор, пока какое то из условий не будет равняться true. И всю эту цепочку можно закончить директивой v-else.
v-show
директива похожая v-if
Если значение false, то блок получает стиль display:none.
Элемент просто скрывается, но в DOM дереве он всё ещё находится.