Кратко об основах Vue.js
20.12.2018 - vvuri - Reading time ~2 Minutes
- Основной сайт -
vuejs.org - короткий вводный курс
- достаточно подключить
vue.min.js
- далее
new Vue({el:"#app", data:{}})где<div id="app">контейнер в котором будет все исполнятся,- data - данные экспортируемые в контейнер
- к тегам добавляются свойсва v-xxx которые делают те или иные действия
- события
<button v-on:click="onClickfun">и далее делаем обработчик в methods:{onClickfun:function(){...} - есть возможность анимировать
- фильтры - js функции, есть набор встроенных
{{ 'фильтры' | uppercase}},orderBy- сортировка,filterBy- поиск - можно подключить MArkdown разметку marked.min.js
<div>{{{ input | marked }}}</div>Vui.filter('marked', marked) - можно написать свой фильтр с заменой слов на символы и т.д.
- можно разбвивать код на отдельные компоненты в отдельных файлах, но есть проблема зависимостей
поэтому используются сборщики - browserify, webpack
-
- создаем каталог и заходим в него
npm init --yesвнутри создаемpackage.json- добавляем список зависимостей devDependencies
npm installустановит все зависимые пакеты в node_modules- в main.js инициализируем Vue
- создаем папку components и в ней
hello.vuec template, script, style и отдаем наружу через module.exports - добавляем в main.js наш компонент require и его экземпляр
- на странице уже можно взять тег
<hello> - добавляем в
package.jsonbuild запускающий browserify - и далее запускаем
npm run build - добавляем еще watchify который будет автоматом билдить при измееннии компонет
Альтернативный вариант - использование webpack
- много дополнительных модулей jade, sass
- и немного все компактнее
- watch уже встроен
vue-cli
- консольная утилита, помогает когда проектов много и надо быстро их создавать
- используются готовые шаблоны или создаем собственные
- sudo npm install -g vue-cli
- vue init название_шаблона название_папки_установки
- напирмер vue init webpack-simple mytestproject
- заходим внутрь и npm install устанавливаем зависимости
- npm run dev запускаем сборку
vue-resurce
- плагин ассинхронных REST запросов к серверу удаленных данных
- video
vue-router
- можно сделать одностраничное приложение
- video
<router-link to="">
vuex
- плагин единого хранилища данных, но это уже для сложного приложения, т.к. много когда надо дописывать
- вынос в отдельный файл