Доступно

[Udemy] Vue.js 2 Recipes

Тема в разделе "Курсы по программированию", создана пользователем floki, 7 ноя 2017.

Цена: 670р.-57%
Взнос: 286р.
100%

Основной список: 9 участников

Статус обсуждения:
Комментирование ограничено.
  1. 7 ноя 2017
    #1
    floki
    floki ОргОрганизатор

    Складчина: [Udemy] Vue.js 2 Recipes

    Рецепты Vue.js 2
    Изучите полезные решения общих проблем, возникающих при создании приложений Vue 2

    Описание курса
    Vue js - это библиотека JavaScript с открытым исходным кодом для создания современных интерактивных веб-приложений. Благодаря быстро растущему сообществу и сильной экосистеме, Vue js делает разработку сложных одностраничных приложений ветерок. Его компонентный подход, интуитивно понятный API, невероятно быстрый ядро и компактный размер делают Vue js отличным решением для создания вашего следующего front-end приложения.

    Этот видео-учебник погружается прямо в изучение различных задач, которые вы столкнетесь при создании своих веб-приложений с помощью Vue js. Вы начинаете с создания простого приложения Vue, а затем научитесь добавлять в свой проект различные элементы, фильтры, свойства и формы. Вы изучите различные переходы и анимации, которые можно использовать с помощью Vue js, и добавьте компоненты и события в ваше приложение Vue, сделав его более динамичным по мере продвижения. После этого вы узнаете, как добавить связь с удаленными ресурсами в ваше приложение Vue и использовать VueRouter 2 для создания одностраничного приложения. Наконец, вы познакомитесь с передовым государственным управлением с Vuex и научитесь тестировать созданные вами приложения.

    К концу этого курса вы будете готовы принять реальные проекты с Vue, вооруженные решениями, необходимыми для решения задач развития.

     
  2. Последние события

    1. serg_vn
      serg_vn оставил отзыв "Хорошо".
      28 дек 2017
    2. skladchik.com
      Складчина доступна.
      11 ноя 2017
    3. skladchik.com
      Взнос составляет 143р.
      11 ноя 2017
    4. skladchik.com
      Складчина активна.
      11 ноя 2017

    Последние важные события

    1. skladchik.com
      Складчина доступна.
      11 ноя 2017
    2. skladchik.com
      Взнос составляет 143р.
      11 ноя 2017
    3. skladchik.com
      Складчина активна.
      11 ноя 2017
    4. skladchik.com
      Сбор взносов начинается 11.11.2017.
      9 ноя 2017
  3. Отзывы участников

    4/5,
    • 4/5,
      Работой организатора доволен
      Кратко и хорошо выложен материал курса. Вполне подходит для старта изучения этой технологий. Автор хорошо владеющий Английским - поэтому воспринимается легко, даже с средним уровнем знания языка.
      28 дек 2017
      1 человеку нравится это.
  4. Обсуждение
  5. 8 ноя 2017
    #2
    Paul Johns
    Paul Johns ЧКЧлен клуба
    подскажите, пожалуйста, кто в теме, где взять понятный курс/урок по VUEX , что б прямо на пальцах
    2 месяца пытаюсь из разных источников узнать а все не как не догоню в систему
    вроде все остальное понятно (более менее)
    пару простых приложений и сайтов уже сделал, но мутации, экшены и геттеры никак не залезут в голову
     
  6. 9 ноя 2017
    #3
    s00d_
    s00d_ ЧКЧлен клуба
    Тупо на пальцах. Мутации это изменения переменной. Экшены, это события(например нажатие на кнопку) гетеры это просто обращение к переменной. Там нет ничего сложного. vuex или store это переменные, просто глобальные у которых есть состояния, это просто изменение переменной внутри store. Все. Изучается за 2 часа.
     
    1 человеку нравится это.
  7. 9 ноя 2017
    #4
    Paul Johns
    Paul Johns ЧКЧлен клуба
    спасибо, за ответ, можно я немного еще уточню ?
    зачем тогда и мутации и экшены,
    я так понял что мутациями можно вообще не пользоваться а все изменения хранилища делать экшены
    как я все это понимаю :
    экшн это
    аналог $emit (например нажали на кнопку, метод добавил значение в this.$store.someObj.someKey)
    а геттер аналог $on (эту же переменную прочитали)
    что делает мутация в этой ситуации?
     
  8. 9 ноя 2017
    #5
    Marsianinka
    Marsianinka БанЗабанен
    Экшн означает, что произошло какое то конкретное событие (пользователь сам определяет, на какое событие какой экшн вешать). В экшне напрямую с хранилищем работать не стоит, это признак плохого тона. Все меняется через мутацию.

    Предположим, мы хотим при загрузке страницы (или правильней будет сказать "при загрузке конкретного компонента") отправить запрос на сервер, что бы подгрузить какие-то данные. Мы берем, и в методе компонента mounted() пишем:
    Код:
    mounted(){
      this.$store.dispatch('loadFromServer');
    }
    Тут 'loadFromServer' - это название экшна, к которому мы обращаемся. Для того, чтобы в экшн передать параметр, нужно передать после названия экшна необходимый параметр.Например, мы пишем
    Код:
    mounted(){
      this.$store.dispatch('loadFromServer', this.$route.params.id);
    }
    В stor'e это будет выглядеть так:
    Код:
    state {
      singlePost: {}
    }
    
    // каждый экшн vue имеет по умолчанию первый аргумент context, которые имеет метод commit (это и есть функция, вызывающая мутации и передающая в нее необходимые параметры) и свойства state (состояние хранилища) и getters (геттеры хранилища)
    
    actions: {
    
    // аргумент id внутри loadFromServer - это то, что мы передали в this.$route.params.id в нашем компоненте
    // 'setSinglePost' в первом параметре context.commit - это имя функции-мутации, которую мы вызываем
    // {type: 'singlePost', post: post} - это объект, который будет передан в функцию мутацию setSinglePost. Тут мы указываем свойство state'а, которое хотим изменить (type: 'singlePost') и значение, которое мы хотим ему присвоить (post: post).
    
      loadFromServer(context, id){
        this.$http.get("/posts/"+id).then( response => {
          const post = response.data;
    
          context.commit('setSinglePost', {type: 'singlePost', post: post});
        })
      }
    }
    
    mutations: { // блок функций-мутаций
    
    // каждая мутация первым параметром получает state хранилища
    // а вторым параметром получает передаваемые из context.commit в нее данные. Назовем этот параметр payload
    
      setSinglePost(state, payload){
        state[payload.type] = payload.post; // т.е. тут получается state['singlePost'] = post
      }
    }
    
    Код очень груб и это больше грубый черновик, но приблизительно так изменяется состояние хранилища. Не из экшнов, а именно из мутаций. Некоторые привыкли имена мутаций задавать исключительно большими буквами, т.е. вместо setSinglePost пишется что то вроде SET_SINGLE_POST. Кому как нравится, строгих рекомендаций нет.
     
    1 человеку нравится это.
  9. 9 ноя 2017
    #6
    Paul Johns
    Paul Johns ЧКЧлен клуба
    спасибо большое за разъяснение, пока понятнее не стало,
    сейчас буду все это переписывать в проект и пробовать как-то взаимодействовать,
    тут вы как раз и 2-ю мою головную боль немного осветили - это отправка json контента во что-то глобальное, когда json получен через промисы
    и что-то мне подсказывает если разобраться с хранилищем, этот момент сам собой решится
     
  10. 10 ноя 2017
    #7
    Paul Johns
    Paul Johns ЧКЧлен клуба
    да будет свет !!

    Marsianinka

    спасибо за то, что навели на мысль, я вроде понял суть, экшены запускают мутацию( соответсвенно и изменяют state), только когда заканчивается выполнение асинхронных операций, для этого они и нужны, если б не асинхрон, то было бы достаточно геттер-сеттер и все
     
Статус обсуждения:
Комментирование ограничено.