This Π² jquery: Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ this Π² jquery? β€” Π₯Π°Π±Ρ€ Q&A

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ с jQuery Π½Π° Vue.js

Об Π°Π²Ρ‚ΠΎΡ€Π΅

Π‘Π°Ρ€Π° Π”Ρ€Π΅Π·Π½Π΅Ρ€ — заслуТСнный спикСр ΠΈ senior Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π² Microsoft, Π°Π²Ρ‚ΠΎΡ€ ΡΡ‚Π°Ρ‚ΡŒΠ΅ΠΉ ΠΎ Ρ‚Ρ€ΡŽΠΊΠ°Ρ… ΠΈ хитростях CSS.

НСльзя просто Ρ‚Π°ΠΊ ΡƒΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ всС ΠΈΠ½Ρ‚Ρ€ΠΈΠ³ΠΈ, Π²ΠΎΠ·Ρ€ΠΎΡΡˆΠΈΠ΅ Π²ΠΎΠΊΡ€ΡƒΠ³ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ JavaScript — Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ², Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ стоит Π·Π°Π±Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ явно Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ‚ΠΈΠΏ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ «ΡΠ²ΠΎΠ΅». Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ Π½Π΅ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ большоС количСство Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ просто Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π°Π±ΡΡ‚Ρ€Π°ΠΊΡ†ΠΈΡŽ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, адаптация ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΠΎΠ΄ Π½ΠΎΠ²Ρ‹Π΅ систСмы сборки, Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ дСплоя Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ большоС количСство Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ усилий, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π½Π΅ Π² состоянии Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² прайс ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² HTML JavaScript. Бписок ΠΌΠΎΠΆΠ΅Ρ‚ расти Π΄ΠΎ бСсконСчности.

Π§Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ люди ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ Π·Π½Π°Ρ‚ΡŒ, Ρ‚Π°ΠΊ это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»Π΅Π³ΠΊΠΎ Π²Π½Π΅Π΄Ρ€ΠΈΡ‚ΡŒ Vue.js Π² ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π²Ρ‹ внСдряСтС jQuery. НС Π½ΡƒΠΆΠ½ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ.

Vue достаточно Π³ΠΈΠ±ΠΊΠΈΠΉ — Π² Ρ‚ΠΎΠΌ ΠΏΠ»Π°Π½Π΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ прямо Π² HTML.

Π˜Ρ‚Π°ΠΊ, прСдставим, Ρ‡Ρ‚ΠΎ ваш ΠΊΠΎΠ΄ ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²ΠΈΠ΄:

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π² Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎΠΌ смыслС ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ скрипт-Ρ‚Π΅Π³ ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ HTML & JS Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π²Ρ‹ использовали Π΅Π³ΠΎ Π΄ΠΎ этого. Π’Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ. Π’Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Π΅Π±-ΠΏΠ°ΠΊΠΈ. И Π²Π°ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΊΡ€ΠΈΠΏΠΎΠ²Ρ‹Ρ… Ρ‡ΡƒΠ΄ΠΎΠ²ΠΈΡ‰.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ тэги ΠΈ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΡƒ «ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ». Π§Ρ‚ΠΎ Ρ€Π°Π΄ΡƒΠ΅Ρ‚, Ρ‚Π°ΠΊ это нСсказанная простота, Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ ΠΈ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ Vue.js, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π½Π° протяТСнии чтСния Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ. Π§Ρ‚ΠΎ ΠΆΠ΅ ΠΊΠ°ΡΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, Ρ‚ΡƒΡ‚ нас Ρ‚ΠΎΠΆΠ΅ ΠΆΠ΄Π΅Ρ‚ приятная ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ: всСго лишь 86 ΠšΠ‘ для вСрсии 2.5.3 ΠΈ 87 для Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΠΎΠΉ вСрсии 3.2.1.

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнныС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° ΠΈ убСдимся Π² Π΅Π³ΠΎ нСоспоримых прСимущСствах.

ΠŸΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°

НаиболСС распространСнным ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ использования JavaScript  являСтся ΠΎΡ‚Π»Π°Π²Π»ΠΈΠ²Π°Π½ΠΈΠ΅ Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π² Π²Π΅Π±-Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π’ нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ для упрощСния ΠΌΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ комплСксныС Ρ„ΠΎΡ€ΠΌΡ‹, Π½ΠΎ для понимания этого Π±ΡƒΠ΄Π΅Ρ‚ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ достаточно.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚Π»ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Π²Π²ΠΎΠ΄ΠΈΠΌΡƒΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ этот ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ наглядно дСмонстрируСт Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΈΠ»ΡŒΠ½Ρ‹Π΅ стороны Vue.js. Он Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ особСнности react, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Ρ‡ΡƒΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π² ΠΏΠ»Π°Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π”Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ввСсти Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ. Как ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, вся информация обновляСтся практичСски ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ.

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ это ΠΈ Π² вСрсии с JQuery — контролируя элСмСнты DOM-Π΄Π΅Ρ€Π΅Π²Π° ΠΈ работая с событиями, Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌΠΈ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ содСрТания Π΅Π³ΠΎ элСмСнтов.

Π’ вСрсии Vue.js ΠΌΡ‹ сохраняСм состояниС элСмСнта. Если Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ, Ρ‚ΠΎ ΠΌΡ‹ привязываСм ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌΡƒ скрипту DOM-элСмСнт Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ Π² случаС измСнСния структуры DOM-Π΄Π΅Ρ€Π΅Π²Π° ΠΈ HTML Π² Ρ†Π΅Π»ΠΎΠΌ, ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ DOM-элСмСнт Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Π΄Π΅ΠΆΠ½ΠΎ привязан ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ Vue.js — ΡΠΎΠ±Ρ‹Ρ‚ΠΈΡŽ. Π”Π΅-Ρ„Π°ΠΊΡ‚ΠΎ, Π½Π° Π²Π²ΠΎΠ΄Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ v-model, Ρ‚Π΅ΠΌ самым обозначая Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ этого поля Π² JavaScript.

Однако это Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ СдинствСнный способ хранСния состояния. ΠŸΠΎΡ‚ΠΎΠΌΡƒ двигаСмся дальшС.

Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ события

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Vue.js Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎΠ± особСнностях Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ DOM-события. По сути, ΠΌΡ‹ ΡƒΠΆΠ΅ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΆΠ΅Π»Π°Π΅ΠΌ «ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ». ΠœΡ‹ просто ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΡΠΎΠ±Ρ‹Ρ‚ΠΈΡŽ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠ· элСмСнтов ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ. Π’ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ с использованиСм JQuery ΠΌΡ‹ ТСстко привязываСмся ΠΊ структурС DOM ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΠΌ DOM-событиям. Π£Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΡ‹ смоТСм Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:

Π’ этой вСрсии JQuery Π±Ρ‹Π» ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΎΡ‚Π»Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ события ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ клавиши, Π½ΠΎ Π² Ρ‚ΠΎ ΠΆΠ΅ врСмя всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ условия ΡΠΎΠ±Π»ΡŽΠ΄Π΅Π½Ρ‹. Наш ΠΊΠΎΠ΄ Π² jQuery Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ этому:

«ΠžΡ‚Π»ΠΎΠ²ΠΈΡ‚Π΅ элСмСнт, просмотритС, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π΄Π΅Π»Π°Π΅Ρ‚, ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ измСнСния, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.»

Π‘Ρ€Π°Π²Π½ΠΈΠΌ: Π²ΠΎ Vue ΠΌΡ‹ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌ всС измСнСния DOM-Π΄Π΅Ρ€Π΅Π²Π°. ΠœΡ‹ привязываСмся ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ элСмСнтам. По сути, ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π°Π±ΡΡ‚Ρ€Π°ΠΊΡ†ΠΈΡŽ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ v-model.lazy. Vue Ρ‚Π΅ΠΏΠ΅Ρ€ Π·Π½Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ состояниС Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π±Ρ‹Π»ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Ρ‹ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ измСнСния, нСльзя. ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ!

ΠšΠ»Π°ΡΡΡ‹

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ Π²Π΅Ρ‰ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ сСйчас рассмотрим, являСтся привязкой CSS-классов, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ наш всСми Π»ΡŽΠ±ΠΈΠΌΡ‹ΠΉ ΠΈ ΠΎΠ±ΠΎΠΆΠ°Π΅ΠΌΡ‹ΠΉ Π“ΡƒΠ³Π» сообщаСт, Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ популярный случай использования jQuery.

ΠžΠΏΡΡ‚ΡŒ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ здСсь ΠΌΠΎΠΆΠ΅ΠΌ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‚Π°ΠΊ это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π² вСрсии с jQuery ΠΌΡ‹ Ρ…Ρ€Π°Π½ΠΈΠΌ состояниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² DOM-Π΄Π΅Ρ€Π΅Π²Π΅. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ свой класс, jQuery ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° Π±Π°Π·Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ класса, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‰Π΅Π³ΠΎ привязку ΠΊ DOM. Π’ вСрсии с Vue ΠΌΡ‹ Ρ…Ρ€Π°Π½ΠΈΠΌ условиС ΠΈ примСняСм ΠΊ Π½Π΅ΠΌΡƒ стили Π² зависимости ΠΎΡ‚ состояния этого условия. ΠœΡ‹ Π½Π΅ обращаСмся ΠΊ DOM Π·Π° этой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ, ΠΌΡ‹ Ρ…Ρ€Π°Π½ΠΈΠΌ Π΅Π΅ сами.

ΠœΡ‹ Ρ…Ρ€Π°Π½ΠΈΠΌ active Π² Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠ½ΠΎΠΏΠΊΠ° измСняСт состояниС условия ΠΈ, Π² зависимости ΠΎΡ‚ условия, примСняСтся ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ .red. Π”Π°ΠΆΠ΅ состояния доступа, aria-pressed, ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π³ΠΎΡ€Π°Π·Π΄ΠΎ быстрСС, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρƒ нас Π½Π΅Ρ‚ нСобходимости Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ всС Π² vue-скриптС. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ состояниС Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ слова active.

Если Π²Ρ‹ Π΄ΡƒΠΌΠ°Π»ΠΈ, Ρ‡Ρ‚ΠΎ использованиС Vue ΠΏΠΎΡ€ΠΎΠ΄ΠΈΡ‚ большСС количСство ΠΊΠΎΠ΄Π°, послСдниС нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Π»ΠΈ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ вас ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ.

Π‘ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅

Π”Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠ±Ρ‰ΠΈΠΉ случай использования jQuery являСтся ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ сокрытиСм элСмСнтов. jQuery всСгда Ρ…ΠΎΡ€ΠΎΡˆΠΎ справлялся с этой Π·Π°Π΄Π°Ρ‡Π΅ΠΉ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊ всС Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ со стороны Vue.

Π’ΠΈΠ΄Π΅ΠΎ курсы ΠΏΠΎ схоТСй Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅:

SQL Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ. Π Π°Π·Π±ΠΎΡ€ Π”Π—

Π’Π»Π°Π΄ΠΈΠΌΠΈΡ€ Π”Ρ‹ΠΌΡ‡ΡƒΠΊ

ASP.NET MVC 4

Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ ΠžΡ…Ρ€ΠΈΠΌΠ΅Π½ΠΊΠΎ

Python Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ

АлСксСй ΠžΡ€Π»Π΅Π½ΠΊΠΎ

Оба Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΡΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ с поставлСнной Π·Π°Π΄Π°Ρ‡Π΅ΠΉ, Π½ΠΎ всС ΠΆΠ΅ ΠΈ здСсь Π΅ΡΡ‚ΡŒ свои ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹, ΠΏΠΎΡ‡Π΅ΠΌΡƒ я ΠΎΡ‚Π΄Π°ΡŽ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅ Vue.js. Vue ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ инструмСнтом ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Vue devtolls.

Π­Ρ‚ΠΎ Π½Π΅ Ρ‚ΠΎ ΠΆΠ΅ самоС, Ρ‡Ρ‚ΠΎ Chrome devtools, Π½ΠΎ ΠΊΠΎΠ³Π΄Π° я ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ, я ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽ большС спСцифичСской ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, связанной нСпосрСдствСнно с Vue.js

И Π² jQuery ΠΈ Π² Vue элСмСнты ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΈ ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ вновь. Но Ρ‡Ρ‚ΠΎ, Ссли Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Π½Π΅ Ρ‚Π°ΠΊ? Π§Ρ‚ΠΎ, Ссли Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π² нашСм ΠΊΠΎΠ΄Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π΅ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ это Π±Ρ‹Π»ΠΎ Π·Π°Π΄ΡƒΠΌΠ°Π½ΠΎ? Π’ случаС с jQuery для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΌΡ‹ Π±Ρ‹ скорСС всСго использовали console.log ΠΈ Π±Ρ‹Π»ΠΈ Π±Ρ‹ Ρ‚Π°ΠΊΠΎΠ²Ρ‹.

Π­Ρ‚ΠΎ всС, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Π½ΠΎ Π² случаС с Vue ΠΎΠ½ сам Π½Π°ΠΌ прСдоставит всю Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π½Π΅ΠΌ самом. На ΠΏΠΈΠΊΡ‡Π΅ Π½ΠΈΠΆΠ΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ элСмСнт скрываСтся\появляСтся ΠΈ ΠΊΠ°ΠΊ измСняСтся Π΅Π³ΠΎ состояниС Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ ΠΎΠΊΠ½Π΅. Если DOM ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΎΡ‚ Π½Π΅Π³ΠΎ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌ, вся нСобходимая информация Π±ΡƒΠ΄Π΅Ρ‚ Π»Π΅Π³ΠΊΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π° Π²ΠΎ Vue.

Π§Ρ‚ΠΎ Π΅Ρ‰Π΅ ΠΌΠ½Π΅ нравится, Ρ‚Π°ΠΊ это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ v-if ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… случаях. Π― ΠΌΠΎΠ³Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ v-show, Ссли Π²Π΅Ρ‰ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ скрыватся ΠΈ отобраТатся часто: v-if ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ «Π΄Π΅ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚» элСмСнт, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ v-show просто ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ. Π­Ρ‚ΠΎ достаточно Π²Π°ΠΆΠ½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ позволяСт ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Π― Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠ³Ρƒ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ†Π΅Π»Ρ‹Π΅ каскады условий, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ с jQuery — слСгка Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ.

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ значСния с приставкой Vue Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΡŽΡ‚ Π½Π° ΠΊΠΎΠ΄ достаточно Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½ΠΎ ΠΈ с мСньшим объСмом ΠΊΠΎΠ΄Π°. ΠžΠ΄Π½Π°ΠΆΠ΄Ρ‹ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π² этот ΡΡ‚ΠΈΠ»ΡŒ, Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ΄ Vue, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΡ‰Π΅.

ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Ρ„ΠΎΡ€ΠΌΡ‹

Π’Π°ΠΊ ΡƒΠΆ историчСски слоТилось, Ρ‡Ρ‚ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Ρ„ΠΎΡ€ΠΌΡ‹ посрСдством Ajax являСтся Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ «ΠΊΠ°Π½ΠΎΠ½ΠΈΡ‡Π½Ρ‹ΠΌ» ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ использования jQuery. А ΠΏΠΎΡ‚ΠΎΠΌΡƒ ΠΌΡ‹ просто обязаны Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρƒ. На самом Π΄Π΅Π»Π΅, Vue Π½Π΅ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ встроСнными Π²Π΅Ρ‰Π°ΠΌΠΈ Π½Π°Π²Ρ€ΠΎΠ΄Π΅ Ajax. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ вмСсто этого здСсь ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Axious (js-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ http-запросов).

Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ нСсколько Π±ΠΎΠ»Π΅Π΅ слоТным, Ρ‡Π΅ΠΌ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅. ΠœΡ‹ собираСмся произвСсти ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

  • Π”ΠΎ Π½Π°Ρ‡Π°Π»Π° Π²Π²ΠΎΠ΄Π° Π² Ρ„ΠΎΡ€ΠΌΡƒ клавиша Π±ΡƒΠ΄Π΅Ρ‚ сСрой. ПослС Ρ‡Π΅Π³ΠΎ ΠΎΠ½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ‚ «Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ» класс ΠΈ станСт Π³ΠΎΠ»ΡƒΠ±ΠΎΠΉ.
  • Когда ΠΌΡ‹ отправляСм Ρ„ΠΎΡ€ΠΌΡƒ, страница Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒΡΡ.
  • Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„ΠΎΡ€ΠΌΠ° принята, ΠΌΡ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΠΌ ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° страницС.

Π—Π΄Π΅ΡΡŒ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ классом ΠΊΠ»Π°Π²ΠΈΡˆΠΈΒ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‚ строки 2-10. ΠŸΠΎΡ…ΠΎΠΆΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π΄Π΅Π»Π°Π»ΠΈ Ρ€Π°Π½Π΅Π΅.Β  ΠœΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ событиС Ρ„ΠΎΡ€ΠΌΡƒ ΠΈ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ event.preventDefault(), Π΄Π°Π±Ρ‹ Π·Π°ΠΏΡ€Π΅Ρ‚ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ страницы. ПослС Ρ‡Π΅Π³ΠΎ ΠΌΡ‹ собираСм всю ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ с Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ отправляСм Ρ‡Π΅Ρ€Π΅Π· Ajax запрос (.done()).

Π’ вСрсии Vue ΠΌΡ‹ Π±ΠΈΠ½Π΄ΠΈΠΌ поля Ρ‡Π΅Ρ€Π΅Π· v-model. ΠœΡ‹ провСряСм ΠΈΠΌΠ΅Π½Π° для связки с классом. ВмСсто ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ страницы event.preventDefault(), Π½Π°ΠΌ всСго лишь Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ @submit. prevent Π² нашСм элСмСнтС Ρ„ΠΎΡ€ΠΌΡ‹. Для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ запроса ΠΆΠ΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Axious.

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ произвСсти ΠΈ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΡŽ, ΠΎΡ‚Π»Π°Π²Π»ΠΈΠ²Π°Π½ΠΈΠ΅ ошибок, тСсты ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Но для понимания Π»ΠΎΠ³ΠΈΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Vue, ΠΊΠ°ΠΊ ΠΌΠ½Π΅ каТСтся, достаточно ΠΈ этих Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ².

И Π² Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

БСсплатныС Π²Π΅Π±ΠΈΠ½Π°Ρ€Ρ‹ ΠΏΠΎ схоТСй Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅:

Agile трансформация Π² большой ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ.

АлСксандр Π—Π°Π»ΡƒΡ†ΠΊΠΈΠΉ

Как ΡΡ‚Π°Ρ‚ΡŒ программистом? — Π²ΠΈΠ΄Π΅ΠΎΡƒΡ€ΠΎΠΊΠΈ ITVDN

АлСксандр ΠœΠ°Ρ€Ρ‡Π΅Π½ΠΊΠΎ

Π”Π΅Π½ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Π΄Π²Π΅Ρ€Π΅ΠΉ Π² CyberBionic Systematics.

РСдакция ITVDN

НСт Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΏΠ»ΠΎΡ…ΠΎΠ³ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ jQuery. ЦСль этой ΡΡ‚Π°Ρ‚ΡŒΠΈ — всСго лишь ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Vue Ρ‚Π°ΠΊ ΠΆΠ΅ Ρ…ΠΎΡ€ΠΎΡˆ Π² качСствС Π½Π΅ΠΊΠΎΠΉ Ρ‚Π°ΠΊΠΎΠΉ абстракции для Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… сайтов. Π­Ρ‚ΠΎΡ‚ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π΅Π½ Π² Ρ€Π°Π·ΠΌΠ΅Ρ€Π°Ρ…, прост  Π² Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΈ освоСнии, достаточно Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»Π΅Π½ ΠΈ прСкрасно интСгрируСтся Π² HTML & JS Π±Π΅Π· нСобходимости ΠΏΠ΅Ρ€Π΅ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

Благодаря гибкости Vue ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΊΠΎΠ΄Π° Π½Π° ΡΡ‚Π°Π΄ΠΈΡŽ Π±ΠΈΠ»Π΄Π° ΠΈ общая компонСнтная структура Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‡Π΅ΠΌ-Ρ‚ΠΎ слоТным. На самом Π΄Π΅Π»Π΅ — это ΠΎΡ‡Π΅Π½ΡŒ Π΄Π°ΠΆΠ΅ вСсСло. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ сами! Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠ°Ρ„Ρ„ΠΎΠ»Π΄ΠΈΡ‚ΡŒ вСсь Vue Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π° просто ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΠ°Ρ€Ρ‹ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄. ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ, Π½Π΅ трогая HTML & JS. Π’Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ вашСго Π²Π΅Π±-ΠΏΠ°ΠΊΠ°, Ρ€Π°Π·Π²Π΅ Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π΅ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ спСцифичСскоС.

Vue Ρ…ΠΎΡ€ΠΎΡˆ Π²ΠΎ всСм, Ρ‡Ρ‚ΠΎ касаСтся адаптивности, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ Π² вашСй Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½ΠΎΠ²Ρ‹ΠΌ, качСствСнными Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠΌ.

Π£Π΄Π°Ρ‡ΠΈ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅!

Автор ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π°: Π•Π²Π³Π΅Π½ΠΈΠΉ Π›ΡƒΠΊΠ°ΡˆΡƒΠΊ

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ с jQuery Π½Π° Vue.

js Π—Π°Ρ‡Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΈ Ρ‡Ρ‚ΠΎ ΠΈΠ· этого Π²Ρ‹ΡˆΠ»ΠΎ

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ΠΎ: 25 Июн 2019

Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ Π² Π±Π»ΠΎΠ³

МСня Π·ΠΎΠ²ΡƒΡ‚ Π‘Π΅Ρ€Π³Π΅ΠΉ, я Ρ€Π°Π±ΠΎΡ‚Π°ΡŽ Π² Π‘Ρ‚ΡƒΠ΄ΠΈΠΈ Π€Π»Π°Π³ с 2017 Π³ΠΎΠ΄Π° ΠΈ, ΠΊΠΎΠ³Π΄Π° я ΠΏΡ€ΠΈΡˆΠ΅Π», состояниС Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄Π° оставляло ΠΆΠ΅Π»Π°Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ.

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

МСня Π·ΠΎΠ²ΡƒΡ‚ Π‘Π΅Ρ€Π³Π΅ΠΉ, я Ρ€Π°Π±ΠΎΡ‚Π°ΡŽ Π² Π‘Ρ‚ΡƒΠ΄ΠΈΠΈ Π€Π»Π°Π³ с 2017 Π³ΠΎΠ΄Π° ΠΈ, ΠΊΠΎΠ³Π΄Π° я ΠΏΡ€ΠΈΡˆΠ΅Π», состояниС Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄Π° оставляло ΠΆΠ΅Π»Π°Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ. Если CSS Ρ…ΠΎΡ‚ΡŒ ΠΊΠ°ΠΊ-Ρ‚ΠΎ собирался, Π±Ρ‹Π» Ρ€Π°Π·Π±ΠΈΡ‚ Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, Ρ‚ΠΎ Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… вСсь JavaScript хранился Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ Π΄Π»ΠΈΠ½ΠΎΠΉ нСсколько тысяч строк, Π½Π΅ минифицировался, ΠΈ пСриодичСски Π²ΡΡ‚Ρ€Π΅Ρ‡Π°Π»ΠΈΡΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Ρ‚ΠΈΠΏΠ° «НС лСзь, ΠΎΠ½ΠΎ тСбя соТрСт». Π’ Π΄Ρ€ΡƒΠ³ΠΎΠΌ мСстС JS-функция ΠΈΠ½ΠΎΠ³Π΄Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π»Π° β€œtrulio” вмСсто true. Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹ Π±Ρ‹Π»Π° написана Π½Π° jQuery, Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΠΆΠ΅ Π½Π΅ ΡƒΠΏΡ€ΠΎΡ‰Π°Π»ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρƒ.

Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠ΄Π° Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ, Π° Ρ€Π΅Π»ΠΈΠ· ΠΎΠ΄ΠΈΠ½. Но, ΠΏΡ€ΠΈ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ постоянных Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ…, это быстро прСвращаСтся Π² ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ, Π½ΡƒΠΆΠ½ΠΎ сначала Π½Π°ΠΉΡ‚ΠΈ мСсто Π² Ρ„Π°ΠΉΠ»Π΅ (Π½Π° это Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ!), ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ зависимости, ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС, Π½Π΅ сломаСт Π΅Π΅ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ. Π’ ΠΈΡ‚ΠΎΠ³Π΅, Π·Π°Π΄Π°Ρ‡ΠΈ Π΄Π΅Π»Π°ΡŽΡ‚ΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, Π° количСство ошибок растСт ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ росту ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

ΠŸΠΎΡΡ‚Π΅ΠΏΠ΅Π½Π½ΠΎ, ΠΌΡ‹ занялись созданиСм сборки Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄Π°, Π½Π°Ρ‡Π°Π»ΠΈ с ΠΌΠΈΠ½ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ (сТатия) ΠΈ транспиляции (трансформации ΠΊΠΎΠ΄Π° Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π» Π² старых Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…) JavaScript с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ популярного сборщика Gulp. ПозТС стали Ρ€Π°Π·Π±ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈ. Π‘ 2017 Π³ΠΎΠ΄Π° ΠΌΡ‹ Π½Π°Ρ‡ΠΈΠ½Π°Π»ΠΈ постСпСнно Π²Π½Π΅Π΄Ρ€ΡΡ‚ΡŒ php-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Laravel. ΠšΡΡ‚Π°Ρ‚ΠΈ, создатСли Laravel (Taylor Otwell) ΠΈ Vue.js (Evan You) ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Ρ‰Π°ΡŽΡ‚ΡΡ ΠΈ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ Π½Π° конфСрСнциях Π΄Ρ€ΡƒΠ³ Ρƒ Π΄Ρ€ΡƒΠ³Π°.

ПослС измСнСния тСхнологичСского стэка, измСнились ΠΈ наши ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹. Π‘Ρ‚Π°Π»ΠΎ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ всС большС слоТных ΠΈ Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… постоянной ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΈ Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΎΠΊ, со слоТной Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ, которая Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΡ‹ Π·Π°Π΄ΡƒΠΌΠ°Π»ΠΈΡΡŒ ΠΎΠ± использовании Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° для frontend-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Vue

Vue.js – это прогрСссивный Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для создания ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… интСрфСйсов. Π‘ΠΎΠ·Π΄Π°Ρ‚Π΅Π»Π΅ΠΌ Vue.js являСтся Evan You, Π±Ρ‹Π²ΡˆΠΈΠΉ сотрудник Google ΠΈ Meteor Dev Group. Начал ΠΎΠ½ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Π² 2013-ΠΌ, Π° Π² Ρ„Π΅Π²Ρ€Π°Π»Π΅ 2014-Π³ΠΎ состоялся ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ Ρ€Π΅Π»ΠΈΠ·.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΅Π³ΠΎ?

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Vue.js Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π΅Π½, ΠΈ это Π΅Π³ΠΎ основноС прСимущСство ΠΏΠ΅Ρ€Π΅Π΄ jQuery, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ использовали Ρ€Π°Π½Π΅Π΅. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ автоматичСский Ρ€Π΅Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ Π² Ρ‚Π΅Ρ… мСстах, Π³Π΄Π΅ ΠΎΠ½ΠΈ выводятся. Π­Ρ‚ΠΎ позволяСт ΠΏΠΈΡΠ°Ρ‚ΡŒ мСньшС ΠΊΠΎΠ΄Π°, Β ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°.

Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Vue довольно Π»Π΅Π³ΠΊΠΎ интСгрируСтся с Laravel, backend-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ.

Π’-Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΡ…, ΠΎΠ½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для постСпСнного внСдрСния. ΠŸΠΎΡΡ‚Π΅ΠΏΠ΅Π½Π½ΠΎ изучая Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ, ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π±Ρ‹Π»ΠΈ написаны Π½Π° Vue.js с нуля.

НСмаловаТным являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΡƒΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ(Π² Ρ‚ΠΎΠΌ числС Π½Π° Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΌ русском языкС).
Vue.js появился ΠΏΠΎΠ·ΠΆΠ΅ Angular ΠΈ React, ΠΈ, ΠΊΠ°ΠΊ ΠΎΠ±Π΅Ρ‰Π°Π»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, взял Π»ΡƒΡ‡ΡˆΠ΅Π΅ ΠΎΡ‚ ΠΎΠ±ΠΎΠΈΡ…. На Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΎΠ½ ΡƒΠΆΠ΅ Π½Π°Ρ‡Π°Π» ΠΎΠ±Π³ΠΎΠ½ΡΡ‚ΡŒ React ΠΏΠΎ Π·Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΠ°ΠΌ Π½Π° GitHub, ΠΈ Π² Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³Π΅ любви Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈΠΌΠ΅Π» ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π½Π΅ Π½ΠΈΠΆΠ΅, Ρ‡Π΅ΠΌ React. Π‘ΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ этих Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² ΠΏΡ€ΠΈΠ²Π΅Π»Π° ΠΊ Π²Ρ‹Π±ΠΎΡ€Ρƒ Vue.js, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π½Π°Ρ‡Π°Π»ΠΈ Π²Π½Π΅Π΄Ρ€ΡΡ‚ΡŒ с Π½Π°Ρ‡Π°Π»Π° 2018 Π³ΠΎΠ΄Π°, ΠΈ Π΅Ρ‰Π΅ Π½ΠΈ Ρ€Π°Π·Ρƒ Π½Π΅ ΠΏΠΎΠΆΠ°Π»Π΅Π»ΠΈ ΠΎΠ± этом.

ИспользованиС Vue.js

Для изучСния Vue.js трСбуСтся Π±Π°Π·ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Π½ΠΈΠ΅ HTML, CSS, JavaScript, ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π½Π°Π½ΠΈΠ΅ стандарта ES6 ΠΈ Π²Ρ‹ΡˆΠ΅. Vue ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ всС соврСмСнныС Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ ΠΈ Π΄Π°ΠΆΠ΅ Internet Explorer 9-11 ΠΈ вСсит всСго ΠΎΠΊΠΎΠ»ΠΎ 20 ΠΊΠ± (min + gzip).

Для старта простого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° Vue.js достаточно ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ JS-Ρ„Π°ΠΉΠ» ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½Π° страницу с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π΅Π³Π° <script>. Π‘ΡƒΠ΄Π΅Ρ‚ зарСгистрирована глобальная пСрСмСнная Vue. Π’Π°ΠΊΠΆΠ΅ сущСствуСт Vue CLI – инструмСнт, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ быстро Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ всС ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Π΅ возмоТности Vue (ΠΎ Π½ΠΈΡ… расскаТу Π΄Π°Π»Π΅Π΅) Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° настройку ΠΊΠΎΠ½Ρ„ΠΈΠ³ΠΎΠ² систСм сборки Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄Π°. ΠœΡ‹ ΠΆΠ΅ Π½Π° своих ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Webpack + Laravel Mix (ΠΏΠ°ΠΊΠ΅Ρ‚ для Laravel, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ быстро Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ Webpack).

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ

ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌΠΈ концСпциями Vue ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

  • конструктор
  • ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹
  • Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹
  • ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€

Для Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Vue трСбуСтся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ экзСмпляр Vue. Π’ Π½Π΅ΠΌ указываСтся элСмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π°, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ вычисляСмыС свойства, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Ρ…ΡƒΠΊΠΈ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° экзСмпляра Vue. Π­Ρ‚ΠΎ ΠΈ Π΅ΡΡ‚ΡŒ конструктор. Выглядит это Ρ‚Π°ΠΊ

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹

ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ слоТных Π²Π΅Ρ‰Π΅ΠΉ: «Никогда Π½Π΅ Π΄Π΅Π»Π°ΠΉΡ‚Π΅ слоТныС Π²Π΅Ρ‰ΠΈΒ». Если Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ становится слоТным – Ρ€Π°Π·Π±ΠΈΠ²Π°Π΅ΠΌ это Π½Π° части ΠΏΠΎΠΏΡ€ΠΎΡ‰Π΅ ΠΈ связываСм ΠΈΡ… Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ способом. Π›ΡŽΠ±ΠΎΠΉ слоТный интСрфСйс Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ – сущности, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ максимально ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ ΠΈ понятно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΈ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ ΡƒΠΌΠ΅Π΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ.

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ основныС html элСмСнты ΠΈ Π²Π½Π΅Π΄Ρ€ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ΄. По сути, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ β€” ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ части UI. На этапС проСктирования ΠΌΡ‹ Ρ€Π°Π·Π±ΠΈΠ²Π°Π΅ΠΌ нашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° нСзависимыС части ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π΄Ρ€Π΅Π²ΠΎΠ²ΠΈΠ΄Π½ΡƒΡŽ структуру ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½ΠΈΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Vue-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° β€” счСтчика ΠΊΠ»ΠΈΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½Π° страницу нСсколько Ρ€Π°Π· ΠΈ всС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ этого счСтчика Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ нСзависимо Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°.

jQuery

Для jQuery Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹, для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΈΡ… ΠΏΠΎΡ‡Ρ‚ΠΈ Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅.

Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹

Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для добавлСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ html-элСмСнтам. ВсС Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ прСфикс Β«v-Β». Π‘ ΠΈΡ… ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий, ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ элСмСнтов, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

НапримСр, Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½ΠΈΠΆΠ΅ элСмСнту добавляСтся класс β€œactive”, Ссли пСрСмСнная isActive Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ β€œtrue”.

jQuery

Π’ jQuery для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ класс ΠΈΠ»ΠΈ id ΠΊ этому элСмСнту (Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Ссли ΠΎΠ½ Π΅Ρ‰Π΅ Π±ΡƒΠ΄Π΅Ρ‚ с прСфиксом jsβ€”), послС этого ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ этому элСмСнту ΠΈ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ isActive Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠ»ΠΈ ΡƒΠ±ΠΈΡ€Π°Ρ‚ΡŒ класс.

ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹

Vue Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ самым Ρ€Π°Π·Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π°Π½ΠΈΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹ ΠΏΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² DOM, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈ ΠΈΡ… Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ. Π•Π³ΠΎ инструмСнты Π΄Π°ΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ:

  • автоматичСски ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ CSS-классы для Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΉ ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ²
  • ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сторонниС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ CSS-Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Animate. css
  • ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ JavaScript для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с DOM Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π² Ρ…ΡƒΠΊΠ°Ρ… ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ²
  • ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сторонниС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ JavaScript-Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Velocity.js
jQuery

jQuery Ρ‚ΠΎΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ встроСнныС эффСкты ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ², Ρ‡Ρ‚ΠΎ Π² своС врСмя упростило Тизнь ΠΌΠ½ΠΎΠ³ΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ, Π½ΠΎ возмоТностСй для кастомизации этих эффСктов мСньшС, Ρ‡Π΅ΠΌ Π²ΠΎ Vue.

ΠžΡ‚Π»Π°Π΄ΠΊΠ°

Для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ для Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° vue-devtools, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ позволяСт Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½ΡƒΡŽ структуру ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π­Ρ‚ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ позволяСт ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ состояниС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°, Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π½Π΅ΠΌ, измСняя Π΅Π³ΠΎ состояниС. Π’Π°ΠΊΠΆΠ΅ Π² Π½Π΅ΠΌ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ возмоТности для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Vue Router ΠΈ Vuex, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… расскаТу Ρ‡ΡƒΡ‚ΡŒ ΠΏΠΎΠ·ΠΆΠ΅.

Π‘ΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ интСрфСйса Vue-devtools прСдставлСн Π½ΠΈΠΆΠ΅.

jQuery

Для jQuery Ρ‚Π°ΠΊΠΆΠ΅ сущСствуСт Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π΅Π³ΠΎ возмоТностСй часто Π±Ρ‹Π²Π°Π΅Ρ‚ нСдостаточно.

ΠžΠ΄Π½ΠΎΡ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π±Ρ‹Π»ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΡ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Vue, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΊΠΈΠ»Π»Π΅Ρ€-Ρ„ΠΈΡ‡ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°. ΠŸΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΉ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ – это ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Ρ€ΠΈ части: Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΡƒ, скрипт ΠΈ стили. Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ – Π²ΠΈΠ΄Π΅Ρ‚ΡŒ всю Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π½Π° любом ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΌ Π²Π°ΠΌ прСпроцСссорС (SASS, PostCSS, …) ΠΈ языкС, ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΌΡΡ Π² JS (CoffeeScript, TypeScript). На ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡΡ… Π½ΠΈΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°. Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ спСрва ΠΈΠ΄Π΅Ρ‚ HTML-Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ°, Π·Π°Ρ‚Π΅ΠΌ JavaScript ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, стили CSS. ВсС рядом, Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅, ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ ΡƒΠΆΠ΅ Π½Π΅ΠΊΡƒΠ΄Π°!

jQuery

Π’ jQuery Ρ‚Π°ΠΊΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π½Π΅Ρ‚.

Vuex

Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π΅Ρ€Π΅Π΄ΠΊΠΎ возрастаСт ΠΈΠ·-Π·Π° распрСдСлСния кусочков состояния ΠΏΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌ ΠΈ связям ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π½Π°Π΄ большим Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ с дСсятками ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΎΠ² ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². Π‘ΡƒΠ΄Π΅Ρ‚ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΈΡ… ΠΌΠ½ΠΎΠ³ΠΎ ΠΈ Π»Π΅Π³ΠΊΠΎ Π·Π°ΠΏΡƒΡ‚Π°Ρ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ Π½ΡƒΠΆΠ½Ρ‹ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ.

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Vue ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Vuex. Vuex – это ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° управлСния состояниСм для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Vue.js. Он позволяСт Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС Π² Π²ΠΈΠ΄Π΅ JSON-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Ρ‡Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

jQuery

Если снова Π²ΡΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎ jQuery, Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… встроСнных инструмСнтов управлСния состояниСм прилоТСния ΠΎΠ½ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚.

SPA

Для создания SPA (Single Page Application) прСдусмотрСн ΠΌΠΎΠ΄ΡƒΠ»ΡŒ VueRouter. SPA – это Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π΅ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ страницС. На SPA-сайтС ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ URL-адрСсами страница Π½Π΅ пСрСзагруТаСтся, Π° обновляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ. Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ сайта производится Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, Π° Ссли Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ с сСрвСра, Ρ‚ΠΎ это ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ дСлаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ajax.

Π’ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… сайтах ΠΎΡ‡Π΅Π½ΡŒ часто ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ содСрТимого. НапримСр, шапка сайта, Ρ„ΡƒΡ‚Π΅Ρ€, мСню ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ элСмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΎΡ‚ страницы ΠΊ страницС, Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ с сСрвСра. Π‘ использованиСм SPA ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Ρ‚Π°ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ просто Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚, Ρ‚. ΠΊ. ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒΡΡ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нСобходимости, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ повысит ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ SPA-сайта: https://meduza.io/

Vue Router ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠΎΡ‰Π½Ρ‹Π΅ возмоТности ΠΏΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ Ρ€ΠΎΡƒΡ‚ΠΈΠ½Π³ΠΎΠΌ прилоТСния, ΠΈ ΠΏΡ€ΠΈ этом Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΡƒΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ. Она Π³Π»ΡƒΠ±ΠΎΠΊΠΎ интСгрируСтся с Vue.js ΠΈ позволяСт Π»Π΅Π³ΠΊΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ SPA-прилоТСния. Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ возмоТности:

  • Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Ρ‹/прСдставлСния;
  • ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½Π°Ρ конфигурация ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°;
  • Доступ ΠΊ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π°, query, wildcards;
  • Анимация ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² прСдставлСний Π½Π° основС Vue.js;
  • Π£Π΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ;
  • АвтоматичСскоС проставлСниС Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ CSS класса для ссылок;
  • Π Π΅ΠΆΠΈΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ HTML5 history ΠΈΠ»ΠΈ Ρ…ΡΡˆ, с Π°Π²Ρ‚ΠΎΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Π² IE9;
  • НастраиваСмоС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ страницы.

Π•ΡΡ‚ΡŒ инструмСнты ΠΈ для сСрвСрного Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° HTML страниц.

jQuery

ΠŸΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ SPA ΠΈ Π½Π° jQuery, ΠΎΠ΄Π½Π°ΠΊΠΎ всС, Ρ‡Ρ‚ΠΎ описано Π²Ρ‹ΡˆΠ΅ придСтся ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ самому ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для этого сторонниС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

Vuetify

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ быстро ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°Π±ΠΎΡ€ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² – Vuetify. Он соотвСтствуСт ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π° Material Design. Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ UI-элСмСнты (сСлСкты, Π΄Π°Ρ‚Π°ΠΏΠΈΠΊΠ΅Ρ€Ρ‹), Ρ‚Π°ΠΊ ΠΈ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ Ρ‚Π΅ΠΌΡ‹ интСрфСйсов.
НиТС ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ Vuetify.

jQuery

Надо ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ jQuery Ρ‚ΠΎΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΈΡ… Π³ΠΎΡ€Π°Π·Π΄ΠΎ мСньшС, Ρ‡Π΅ΠΌ Π²ΠΎ Vuetify, ΠΈ ΠΈΡ… Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΆΠ΅Π»Π°Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ послСдний Ρ€Π΅Π»ΠΈΠ· Π±Ρ‹Π» Π² 2016 Π³ΠΎΠ΄Ρƒ.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Vue прСдоставляСт ΠΎΠ±ΡˆΠΈΡ€Π½Ρ‹Π΅ возмоТности для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². Π‘ Π½ΠΈΠΌ ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Π΄Π°ΠΆΠ΅ Ссли Π΄ΠΎ этого Π²Ρ‹ Π½Π΅ использовали JavaScript-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ ΠΈ постСпСнно Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ простого ΠΊ слоТному Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…. ΠŸΡ€ΠΈ использовании ΠΎΠ΄Π½ΠΎΡ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с чистым ΠΊΠΎΠ΄ΠΎΠΌ, Ρ€Π°Π·Π±ΠΈΡ‚Ρ‹ΠΌ Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π»Π΅Π³ΠΊΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ SPA ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ состояниСм с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Vue Router ΠΈ Vuex, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Vuetify. А Π΅Ρ‰Π΅ Ρƒ Vue Π΅ΡΡ‚ΡŒ Π½Π°Π±ΠΎΡ€ Ρ„ΠΈΡ€ΠΌΠ΅Π½Π½Ρ‹Ρ… эмодТи! ΠœΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с Vue.js большС Π³ΠΎΠ΄Π°, ΠΈ Π·Π° это врСмя ΡƒΠ±Π΅Π΄ΠΈΠ»ΠΈΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΊ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ, ΠΎΠ½ удовлСтворяСт всС наши потрСбности ΠΈ стимулируСт ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ ΠΈ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ Π²ΠΏΠ΅Ρ€Π΅Π΄.

ВсСм Vue!


ПослСдниС записи блога


Please enable JavaScript to view the comments powered by Disqus.

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ jQuery each() | ΠšΠ°Ρ€ΡŒΠ΅Ρ€Π° ΠšΠ°Ρ€ΠΌΠ°

jQuery ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ() β€” это ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΉ способ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° элСмСнтов DOM. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ() ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для Π²Ρ‹Π·ΠΎΠ²Π° Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° jQuery. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ jQuery β€” это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько элСмСнтов DOM ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ доступ ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ jQuery. НС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ() ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½ ошибкам, ΠΎΠ½ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ нСсколькими элСмСнтами DOM.

jQuery ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ() трСбуСтся функция ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° β€” функция, пСрСданная Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, которая Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° ΠΏΠΎΠ·ΠΆΠ΅. Π’Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° находится доступ ΠΊ порядковому Π½ΠΎΠΌΠ΅Ρ€Ρƒ элСмСнта ΠΈ самому элСмСнту. Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΎΠ±Π·ΠΎΡ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ здСсь .

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ() Ρ‚Π°ΠΊ ΠΆΠ΅ прост, ΠΊΠ°ΠΊ ΠΈ Π»ΡŽΠ±Ρ‹Π΅ Ρ†ΠΈΠΊΠ»Ρ‹ JavaScript, Π½ΠΎ Π΅ΡΡ‚ΡŒ мСста, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡ‚Π°Ρ‚ΡŒΡΡ. ΠœΡ‹ проясним эти ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ рассмотрим синтаксис. Π’ ΠΊΠΎΠ½Ρ†Π΅ этого руководства Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ способы примСнСния jQuery. ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ() .

НайдитС свой ΠΌΠ°Ρ‚Ρ‡ для Π±ΡƒΡ‚ΠΊΠ΅ΠΌΠΏΠ°

  • Career Karma ΠΏΠΎΠ΄Π±Π΅Ρ€Π΅Ρ‚ для вас Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΡƒΡ‡Π΅Π±Π½Ρ‹Π΅ курсы ΠΏΠΎ тСхнологиям
  • ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ доступ ΠΊ ΡΠΊΡΠΊΠ»ΡŽΠ·ΠΈΠ²Π½Ρ‹ΠΌ стипСндиям ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ курсам

Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ свой интСрСс
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Π°Ρ инТСнСрия Π”ΠΈΠ·Π°ΠΉΠ½ Наука ΠΎ Π΄Π°Π½Π½Ρ‹Ρ… Аналитика Π΄Π°Π½Π½Ρ‹Ρ… ΠŸΡ€ΠΎΠ΄Π°ΠΆΠΈ ΠšΠΈΠ±Π΅Ρ€Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Имя

Ѐамилия

Π­Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½ΠΎΠ΅ письмо

Π’Π΅Π»Π΅Ρ„ΠΎΠ½Π½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ, Π²Ρ‹ ΡΠΎΠ³Π»Π°ΡˆΠ°Π΅Ρ‚Π΅ΡΡŒ с нашими условия обслуТивания ΠΈ ΠŸΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ , ΠΈ Π²Ρ‹ ΡΠΎΠ³Π»Π°ΡˆΠ°Π΅Ρ‚Π΅ΡΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ прСдлоТСния ΠΈ возмоТности ΠΎΡ‚ Career Karma ΠΏΠΎ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Ρƒ, тСкстовым сообщСниям ΠΈ элСктронной ΠΏΠΎΡ‡Ρ‚Π΅.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ jQuery ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ()?

jQuery ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ β€” это ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ†ΠΈΠΊΠ»Π° для Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ jQuery. Он Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ Ρ†ΠΈΠΊΠ» JavaScript, пСрСбирая элСмСнты DOM. jQuery ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ() трСбуСтся функция ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π°, Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ элСмСнтами DOM.

Π’ Ρ‚Π΅Π»Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ условныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ для измСнСния Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… элСмСнтов. УсловныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ if…then Π² JavaScript. Π­Ρ‚ΠΎ обСспСчиваСт Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡƒΠ±ΠΎΠΊΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ контроля Π½Π°Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ элСмСнты.

Бинтаксис jQuery ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ()

jQuery ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ двумя способами. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΊΠ°ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄, Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ для Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта. Ѐункция ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄ΠΎ Π΄Π²ΡƒΡ… Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²: индСкс ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. ИндСкс β€” это порядковый Π½ΠΎΠΌΠ΅Ρ€ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ элСмСнта. Если Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ элСмСнт Π±Ρ‹Π» ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π² спискС, Π½ΠΎΠΌΠ΅Ρ€ индСкса Π²Π΅Ρ€Π½ΡƒΠ» Π±Ρ‹ 0.

АргумСнт value относится ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ элСмСнту. Π’Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ для привязки ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ трСбуСтся пСрСнос значСния Π² сСлСктор jQuery. Π”Π°Π²Π°ΠΉΡ‚Π΅ помСстим всС это Π² ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ абстрактный ΠΊΠΎΠ΄, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒ синтаксис.

 $('div').ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ((индСкс, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) => {
  console.log(`${index}: ${$(value).text()}`)
}) 

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ

Π½Π° страницС ΠΈ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Π΅ΠΌ Π΅Π³ΠΎ. На ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρƒ нас Π΅ΡΡ‚ΡŒ доступ ΠΊ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ индСкса ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ элСмСнта. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ просто $(Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) Π΄Π°Π΅Ρ‚ Π½Π°ΠΌ уТас [ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Object] ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ.

ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ [ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Object] прСдставляСт собой строковоС прСдставлСниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ для извлСчСния Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ значСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ случаС ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ тСкст() ΠΌΠ΅Ρ‚ΠΎΠ΄ для отобраТСния тСкстового Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ [ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Object] Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ возвращаСтся.

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ рСгистрируСтся Π½ΠΎΠΌΠ΅Ρ€ индСкса, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт тСкстовый Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ

. Если Π±Ρ‹ Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ΅Π½ Π±Ρ‹Π» доступ ΠΊ индСксу, ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Ρ€Π΅ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ ΠΊΠ°ΠΊ Ρ‚Π°ΠΊΠΎΠ²ΠΎΠΉ:

 $('div').ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ(функция() {
  ΠΎΠΏΠΎΠ²Π΅Ρ‰Π΅Π½ΠΈΠ΅($(это).тСкст())
}) 

ΠŸΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΉ записи Ρ‚Π°ΠΊΠΆΠ΅ рСгистрируСтся тСкст Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ элСмСнта

. Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово это Ρ‚Π°ΠΊΠΆΠ΅ относится ΠΊ элСмСнту, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π½Π΅Π΅ ΡΡΡ‹Π»Π°Π»Π°ΡΡŒ пСрСмСнная значСния. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΌΡƒ слову это Π² стрСлочной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π₯отя стрСлочныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΡƒΡŽ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρƒ написанию Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΎΠ½ΠΈ Π½Π΅ связаны с ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом this. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹ΠΉ ΠΏΡ€ΠΈ использовании this Π² стрСлочной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½Π΅ являСтся Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ this ΠΏΡ€ΠΈ записи Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ.

Π­Ρ‚ΠΎΡ‚ Π³ΠΈΠ΄ ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π²Ρ…ΠΎΠ΄Ρ‹ ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Ρ‹ стрСлочных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

jQuery ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ() ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΠΌ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ синтаксиса ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹. ΠœΡ‹ Π½Π°Ρ‡Π½Π΅ΠΌ с простого HTML-Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° списка Ρ†Π²Π΅Ρ‚ΠΎΠ², ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ классам.

Β«ΠšΠ°Ρ€ΡŒΠ΅Ρ€Π½Π°Ρ ΠΊΠ°Ρ€ΠΌΠ° вошла Π² мою Тизнь, ΠΊΠΎΠ³Π΄Π° я большС всСго Π² Π½Π΅ΠΉ Π½ΡƒΠΆΠ΄Π°Π»Π°ΡΡŒ, ΠΈ быстро ΠΏΠΎΠΌΠΎΠ³Π»Π° ΠΌΠ½Π΅ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ Π±ΡƒΡ‚ΠΊΠ΅ΠΌΠΏ. Π§Π΅Ρ€Π΅Π· Π΄Π²Π° мСсяца послС выпуска я нашла Ρ€Π°Π±ΠΎΡ‚Ρƒ своСй ΠΌΠ΅Ρ‡Ρ‚Ρ‹, которая соотвСтствовала ΠΌΠΎΠΈΠΌ цСнностям ΠΈ цСлям Π² ΠΆΠΈΠ·Π½ΠΈ!Β»

Π’Π΅Π½Π΅Ρ€Π°, ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€-программист Π² Rockbot

 
ΠšΡ€Π°ΡΠ½Ρ‹ΠΉ
Π ΠΎΠ·ΠΎΠ²Ρ‹ΠΉ
ΠžΡ€Π°Π½ΠΆΠ΅Π²Ρ‹ΠΉ
Π€ΠΈΠΎΠ»Π΅Ρ‚ΠΎΠ²Ρ‹ΠΉ
Π‘ΠΈΠ½ΠΈΠΉ

Π­Ρ‚ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ тСкстовый элСмСнт Π² DOM. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π½Π°Ρ‡Π½Π΅ΠΌ с Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ просто запишСм тСкст Π² консоль, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠ°ΠΊ стрСлочныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚Π°ΠΊ ΠΈ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ.

 $('.colorSelect').ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ((индСкс, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) => {
  console.log($(Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅).тСкст())
}) 

Выбирая Ρ‚ΠΎΠ»ΡŒΠΊΠΎ

с ΠΈΠΌΠ΅Π½Π΅ΠΌ класса colorSelect, ΠΌΡ‹ рСгистрируСм тСкст Red, Purple ΠΈ Blue. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΊΠ°ΠΊ ΠΌΡ‹ ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‹Π²Π°Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² Π½ΠΎΠ²Ρ‹ΠΉ экзСмпляр jQuery для Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ jQuery. тСкст() ΠΌΠ΅Ρ‚ΠΎΠ΄. ΠŸΡ€ΠΈ этом возвращаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ тСкст Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… элСмСнтов
.

Π’Π΅Ρ€Π½Π΅ΠΌ Ρ‚Π΅ ΠΆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹, Π½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова это.

 $('.colorSelect').ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ(функция() {
   console.log($(это).тСкст())
}) 

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ β€” Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π±Π΅Π· ΠΈΠΌΠ΅Π½ΠΈ, Π² качСствС ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π°. ΠžΠΏΡΡ‚ΡŒ ΠΆΠ΅, ΠΎΠ½ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ тСкст Red, Purple ΠΈ Blue. Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ, хотя стрСлочныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² jQuery, Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΡƒΡŽ Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ для ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Ρ… Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² jQuery.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ Π½Π°Π±ΠΎΡ€ элСмСнтов. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ повСсСлимся ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ Ρ†Π²Π΅Ρ‚!

 
ΠšΡ€Π°ΡΠ½Ρ‹ΠΉ
Π ΠΎΠ·ΠΎΠ²Ρ‹ΠΉ
ΠžΡ€Π°Π½ΠΆΠ΅Π²Ρ‹ΠΉ
Π€ΠΈΠΎΠ»Π΅Ρ‚ΠΎΠ²Ρ‹ΠΉ
Π‘ΠΈΠ½ΠΈΠΉ
<Π΄Π΅Π»>
<ΡΡ‚ΠΈΠ»ΡŒ> .colorSelect { Ρ†Π²Π΅Ρ‚ синий; } . Π·Π΅Π»Π΅Π½Ρ‹ΠΉ { Ρ†Π²Π΅Ρ‚: Π·Π΅Π»Π΅Π½Ρ‹ΠΉ; }

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ страницу со списком Ρ†Π²Π΅Ρ‚ΠΎΠ², ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ нСсколько классов ΠΊ элСмСнту