Flask & Vue. Кастомні компоненти. Приклад№ 2.6


06.05.2021

У цій статті: Наводимо красу - кастомні компоненти

Пам'ятаєте, у попередній серії прикладів ми робили компонент "product" у вигляді плиток з можливістю редагування прямо в них. Давайте це повторимо з урахуванням доопрацьованого додатку.

Перш за все, для нестандартного компонента, нам треба буде прописати окремі роути:


  { path: '/product',
    component: { template: '' },
    beforeEnter (to, from, next) { loadComponents("product.js"); next() }
  },
  { path: '/product/prm/:prm',
    component: { template: '' },
    beforeEnter (to, from, next) { loadComponents("product.js"); next() }
  },

Вони обов'язково мають бути розташовані вище за стандартні роути, інакше не спрацюють.

Реалізація компоненти product у файлі product.js

Ще у компоненті пагінації зроблене автоматичне завантаження з сервера наступної сторінки коли на мобільному пристрої доскролити до низу сторінки та завантаження попередньої, коли доскролити до гори сторінки. Власне, я цього не дуже полюбляю, але як що цікаво, дивись як це зроблено у компоненті "paginator". Це лише приклад, він працює не ідеально. Можна зробити щоб дані сторінок до-завантажувалися при сколінгу, але це Ви зможете переробити власноруч.

P.S. Можливо Ви звернули увагу на те, що у всіх цих прикладах (на бекенді) ми майже написали свою майже ORM, трохи погралися з токенами (ну майже токенами), і гемороїлися з оновленням структури даних вручну (див. файли modifyDB.py). Але людство все це вже зробило до нас і пішло далі для полегшення життя і праці. Тому у наступній статті ми знову все переробимо бекенд з використанням SQLAlchemy, Migrate, Marshmallow, JWT.

Як запустити приклад?

  1. Завантажити архів з прикладом, розпакувати
  2. Запустити приклад командою:
    python ./my_app.py
    або
    python3 ./my_app.py
  3. У браузері відкрити посилання: http://localhost:5000/

Дивись також:

Web-dev склерозник
Коментарі:
Додати коментар
Code
* - обов'язкові поля

Архіви