Vue.js
From Wikipedia, the free encyclopedia
Remove ads
Vue.js (звычайна пазначаецца як Vue; вымаўляецца як «в’ю»[5]) — гэта JavaScript-бібліятэка з адкрытым зыходным кодам для стварэння карыстальніцкіх інтэрфейсаў і аднастаронкавых вэб-праграм (англ.: single-page application, SPA)[11]. Яна была створана Эванам Ю і падтрымліваецца ім і камандай[12].
Remove ads
Агляд
Vue.js мае інкрыментальна адаптаваную архітэктуру, арыентаваную на дэкларатыўны рэндэрынг і кампаноўку кампанентаў. Асноўная бібліятэка арыентавана толькі на ўзровень прадстаўлення[5]. Дадатковыя магчымасці, неабходныя для складаных вэб-праграм, такія як маршрутызацыя, кіраванне станамі і інструменты зборкі, даступныя праз афіцыйныя бібліятэкі і пакеты[13].
Vue.js дазваляе пашыраць HTML пры дапамозе атрыбутаў HTML, якія называюцца дырэктывамі[14]. Дырэктывы забяспечваюць функцыянальнасць HTML-праграм і могуць быць як убудаванымі, так і вызначанымі карыстальнікам.
Remove ads
Гісторыя
Vue быў створаны Эванам Ю пасля працы ў Google, дзе ён выкарыстоўваў AngularJS у некалькіх праектах. Пазней ён падсумаваў свае думкі: «Я падумаў, што змагу ўзяць тую частку Angular, якая мне падабалася, і стварыць нешта сапраўды лёгкае»[15]. Першы камміт (eng. commit) зыходнага кода праекта датаваны ліпенем 2013 года, а першы публічны анонс Vue адбыўся ў лютым наступнага, 2014 года[16][17].
Назвы версій часта паходзяць з мангі і анімэ.
Версіі
Remove ads
Асаблівасці
Кампаненты
Кампаненты Vue пашыраюць базавыя элементы HTML для інкапсуляцыі прыгоднага для шматразовага выкарыстання кода. На высокім узроўні кампаненты — гэта прыстасаваныя элементы, да якіх кампілятар Vue прымацоўвае паводзіны. У Vue кампанент — гэта, у сутнасці, экзэмпляр Vue з загадзя вызначанымі параметрамі[38]. Прыведзены ніжэй фрагмент кода змяшчае прыклад кампанента Vue. Кампанент паказвае кнопку і выводзіць колькасць націскаў на яе:
<template>
<div id="tuto">
<button-clicked v-bind:initial-count="0"></button-clicked>
</div>
</template>
<script>
Vue.component('button-clicked', {
props: ['initialCount'],
data: () => ({
count: 0,
}),
template: '<button v-on:click="onClick">Clicked <nowiki>{{ count }}</nowiki> times</button>',
computed: {
countTimesTwo() {
return this.count * 2;
}
},
watch: {
count(newValue, oldValue) {
console.log(`The value of count is changed from ${oldValue} to ${newValue}.`);
}
},
methods: {
onClick() {
this.count += 1;
}
},
mounted() {
this.count = this.initialCount;
}
});
new Vue({
el: '#tuto',
});
</script>
Пераходы
Vue дае мноства спосабаў ужывання эфектаў пераходу пры ўстаўцы, абнаўленні або выдаленні элементаў з DOM. Існуюць наступныя інструменты:
- Аўтаматычнае прымяненне класаў для CSS-пераходаў і анімацыі
- Інтэграцыя іншых бібліятэк CSS-анімацыі, такіх як Animate.css
- Выкарыстанне JavaScript для прамога маніпулявання DOM падчас пераходаў
- Інтэграцыя іншых бібліятэк анімацыі JavaScript, напрыклад Velocity.js
Калі элемент, абгорнуты ў кампанент пераходу, устаўляецца ці выдаляецца, адбываецца наступнае:
- Vue аўтаматычна вызначае, ці прымяняюцца да мэтавага элемента CSS-пераходы або анімацыя. Калі так, то класы CSS-пераходаў будуць дадавацца/выдаляцца ў адпаведныя моманты часу.
- Калі кампанент пераходу змяшчае JavaScript-хукі, то гэтыя хукі будуць выклікацца ў адпаведныя моманты часу.
- Калі CSS-пераходы/анімацыя не выяўлены і хукі JavaScript не прадстаўлены, то аперацыі DOM па ўстаўцы і/або выдаленні будуць выкананы адразу на наступным фрэйме[39][40].
Маршрутызацыя
<div id="app">
<router-view></router-view>
</div>
...
<script>
...
const User = {
template: '<div>User <nowiki>{{ $route.params.id }}</nowiki></div>'
};
const router = new VueRouter({
routes: [
{ path: '/user/:id', component: User }
]
});
...
</script>
Код вышэй:
- Устанаўлівае знешні маршрут па адрасе
websitename.com/user/<id>. - Які будзе адлюстроўвацца ў кампаненце User, вызначаным у (const User. . .)
- Дазваляе кампаненту User перадаць пэўны id карыстальніка, які быў уведзены ў URL, выкарыстоўваючы ключ params аб’екта $route:
$route.params.id. - Гэты шаблон (змяняецца перададзенымі ў маршрутызатар параметрамі) будзе выведзены ў
<router-view></router-view>усярэдзіне div#app DOM. - Канчаткова сфарміраваны HTML для карыстальніка, які набраў:
websitename.com/user/1, будзе выглядаць наступным чынам[41]:
<div id="app">
<div>
<div>User 1</div>
</div>
</div>
Remove ads
Экасістэма
У склад асноўнай бібліятэкі ўваходзяць інструменты і бібліятэкі, распрацаваныя як асноўнай камандай, так і звычайнымі распрацоўшчыкамі.
Афіцыйныя інструменты
- Devtools — Браўзернае пашырэнне devtools для адладкі праграм на Vue.js
- Vue CLI — стандартны інструментарый для хуткай распрацоўкі Vue.js
- Vue Loader — загрузчык вэб-пакетаў, які дазваляе запісваць кампаненты Vue у фармаце Single-File Components (SFC).
Афіцыйныя бібліятэкі
- Vue Router — афіцыйны маршрутызатар
- Vuex — цэнтралізаванае кіраванне станам, натхнёнае Flux
- Vue Server Renderer — рэндэрынг на баку сервера
- Pinia — новы просты спосаб кіравання станам
Remove ads
Зноскі
- The vue-js Open Source Project on Open Hub: Languages Page — 2006. Праверана 20 верасня 2018.
- Release 3.5.25 — 2025. Праверана 24 лістапада 2025.
- Introduction (англ.). Vuejs.org. Праверана January 3, 2020.
- Macrae, Callum (2018). Vue.js: Up and Running: Building Accessible and Performant Web Apps(англ.). O'Reilly Media. ISBN 978-1-4919-9721-5.
- Nelson, Brett (2018). Getting to Know Vue.js: Learn to Build Single Page Applications in Vue from Scratch(англ.). Apress. ISBN 978-1-4842-3781-6.
- Yerburgh, Edd (2019). Testing Vue.js Applications(англ.). Manning Publications. ISBN 978-1-61729-524-9.
- Freeman, Adam (2018). Pro Vue.js 2(англ.). Apress. ISBN 978-1-4842-3805-9.
- Franklin, Jack; Wanyoike, Michael; Bouchefra, Ahmed; Silas, Kingsley; Campbell, Chad A.; Jacques, Nilson; Omole, Olayinka; Mulders, Michiel (2019). Working with Vue.js(англ.). SitePoint. ISBN 978-1-4920-7144-0.(недаступная спасылка)
- Meet the Team (англ.). Vuejs.org. Праверана September 23, 2019.
- Evan is creating Vue.js (англ.). Patreon. Праверана March 11, 2017.
- What is Vue.js (англ.). W3Schools. Праверана January 21, 2020.
- Vue.js: JavaScript MVVM made simple. Hacker News (3 лютага 2014). Праверана 29 студзеня 2023.
- First Week of Launching Vue.js. Evan You (11 лютага 2014). Праверана 29 студзеня 2023.
- v3.3.0 Rurouni Kenshin (англ.). Vue.js (11 мая 2023). Праверана 12 мая 2023.
- v3.2.0 Quintessential Quintuplets (англ.). Vue.js (5 жніўня 2021). Праверана August 10, 2021.
- v3.1.0 Pluto (англ.). Vue.js (7 чэрвеня 2021). Праверана July 18, 2021.
- v3.0.0 One Piece (англ.). Vue.js (18 верасня 2020). Праверана September 23, 2020.
- v2.7.0 Naruto (англ.). Vue.js (1 ліпеня 2022). Праверана July 1, 2022.
- v2.6.0 Macross (англ.). Vue.js (4 лютага 2019). Праверана September 23, 2020.
- v2.5.0 Level E (англ.). Vue.js (13 кастрычніка 2017). Праверана September 23, 2020.
- v2.4.0 Kill la Kill (англ.). Vue.js (13 ліпеня 2017). Праверана September 23, 2020.
- v2.3.0 JoJo's Bizarre Adventure (англ.). Vue.js (27 красавіка 2017). Праверана September 23, 2020.
- v2.2.0 Initial D (англ.). Vue.js (26 лютага 2017). Праверана September 23, 2020.
- v2.1.0 Hunter X Hunter (англ.). Vue.js (22 лістапада 2016). Праверана September 23, 2020.
- v2.0.0 Ghost in the Shell (англ.). Vue.js (30 верасня 2016). Праверана September 23, 2020.
- 1.0.0 Evangelion (англ.). Vue.js (27 кастрычніка 2015). Праверана September 23, 2020.
- 0.12.0: Dragon Ball (англ.). Vue.js (12 чэрвеня 2015). Праверана September 23, 2020.
- v0.11.0: Cowboy Bebop (англ.). Vue.js (7 лістапада 2014). Праверана September 23, 2020.
- v0.10.0: Blade Runner (англ.). Vue.js (23 сакавіка 2014). Праверана September 23, 2020.
- v0.9.0: Animatrix (англ.). Vue.js (25 лютага 2014). Праверана September 23, 2020.
- 0.6.0: VueJS (англ.). Vue.js (8 снежня 2013). Праверана September 23, 2020.
- Components (англ.). Vuejs.org. Праверана March 11, 2017.
- Transition Effects (англ.). Vuejs.org. Праверана March 11, 2017.
- Transitioning State (англ.). Vuejs.org. Праверана March 11, 2017.
- You. Vue Nested Routing (2)(недаступная спасылка). Vue Home Page (subpage). Архівавана з першакрыніцы 8 мая 2017. Праверана May 10, 2017.
Remove ads
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads
