Vue 3 Crash Course | Project From Scratch

Поделиться
HTML-код
  • Опубликовано: 19 июн 2024
  • 📕 Vue 3 Crash Course: johnkomarnicki.gumroad.com/l/...
    🤖 SaaS I'm Building (WebDevDaily): www.webdevdaily.io/
    📹 Writeable computed properties: • Writeable computed pro...
    📹 defineModel: • This New Vue 3.3 defin...
    🚀 Join the channel : / @johnkomarnicki
    🤖 Website: johnkomarnicki.com/
    🐦 Twitter: / john_komarnicki
    Repository : github.com/johnkomarnicki/vue...
    Demo: sparkling-platypus-7955f2.net...
    Timestamps:
    0:00 Introduction
    1:30 Prerequisites
    2:23 What is Vue?
    4:58 Why use Vue?
    5:52 Why Vue over React/Angular?
    7:07 Vue SFC's
    8:02 Github Repository
    8:25 Section-1: Create Vue Project
    10:12 How Does Vue Work
    15:18 Overview of Vue Project
    19:21 Section-2: Project Cleanup
    20:48 Section-3: Install Project Dependencies
    21:52 Section-4: Simple Global Styles
    23:29 Section-5: Navigation Component
    29:11 Section-6: Todo Creator Component
    38:17 Section-6: Emit Custom Events
    46:27 Section-7 Todo Validation
    57:20 Section-8 Slots
    1:01:10 Section-9 Todo Item Component
    1:20:58 Section-10 Toggle Complete Todo
    1:27:38 Section-11 Edit Todo
    1:33:47 Section-12 Delete Todo
    1:36:26 Section-13 Save Todo's To LocalStorage
    1:41:40 Section-13 watch()
    1:46:00 Section-14 Completed Todos State computed()
    1:50:40 Creating Additional Routes/Pages
    1:53:56 Deploying To Netlify
    1:57:35 What's Next?
    #vue #vue3
  • НаукаНаука

Комментарии • 127

  • @JulioCesar9482
    @JulioCesar9482 Год назад +1

    Amazing tutorial, really helped me! Just signed to full stack course wait list.

  • @fkdlb126
    @fkdlb126 Год назад +17

    Excellent tutorial, uses simple language, not only tells you how to do it, but also tells you why, and compares different scenarios. Thank you!

  • @STR2060
    @STR2060 3 месяца назад +1

    Brilliant video with sophisticated production skill ! Helps me a lot in my graduation project !

  • @1duducm
    @1duducm Год назад +2

    This was insane. Thanks for the course!

  • @anilnelli5046
    @anilnelli5046 9 месяцев назад +3

    This is an excellent tutorial, i had ever come across for someone who has basic knowledge in HMTL, CSS and JavaScript. Well planned and excellent detailed walk through of code.

  • @attiliop.8639
    @attiliop.8639 Год назад +1

    This was a great video! Thanks for the refresher.

  • @mateusz8664
    @mateusz8664 9 месяцев назад +2

    Awesome course, keep up the good work!

  • @cannabisanomaly
    @cannabisanomaly 15 дней назад

    Amazing course, thank you so much for this, John! The level of detail you go into is wonderful and miles above the usual "code-along" tutorials. I wanted to mention at 41:05, defineEmits() doesn't need to be imported, nor does defineProps(); that setup attribute that's included in the script tag allows for those macros to be compiled at run-time, so no imports are necessary for them

  • @user-ws3vx9zj8r
    @user-ws3vx9zj8r 4 месяца назад

    Thank you for this crash course it was very helpful, and I am going to follow some of your tutorials. big up

  • @cryptoboy1461
    @cryptoboy1461 Год назад +1

    Beautiful ♥ Thank you!

  • @prashlovessamosa
    @prashlovessamosa Год назад +1

    Will wait for that course.

  • @abiodunhodonu1340
    @abiodunhodonu1340 Год назад

    Very interesting method of teaching. Thank you for this!
    subscribing right away.

  • @nikolozmacharashvili1212
    @nikolozmacharashvili1212 4 месяца назад

    Thank You. You Explained everything very well.

  • @olegparamonov7670
    @olegparamonov7670 Год назад +5

    This is the greatest Vue-crash course ever which I saw on youtube. Thanks for such simple explanation of all this stuff. You helped me to answer to a lot of questions!👍💪

  • @adsaviation
    @adsaviation 5 месяцев назад

    What an excellent crash course this is. I did check out many, but this one is 'just right', no information overload, to the point!! I am a fan now. And will be 'Joining' (as soon as I am back in the USA, weirdly enough, I cannot pay from the Netherlands) as I think someone who takes the time and the energy to show this in such a clear understanding way, is worth every penny. And I will check out your other courses as well, as I do not think I was ever this fast learning a new language, ever!!

    • @JohnKomarnicki
      @JohnKomarnicki  5 месяцев назад

      That is awesome to hear! Glad it's been helpful!
      I do have a Nuxt 3 course that i'm working on and should be partially releasing in the upcoming weeks!

  • @yar4468
    @yar4468 Год назад

    Thank you so much for this tutorial!

  • @prasannabakare0456
    @prasannabakare0456 Год назад +1

    love your videos John. Learned so much from you. Thanks to you I was able to start my own tech blog using Vue

  • @codetechpro
    @codetechpro 10 месяцев назад

    Best todo app project tutorial I have seen, Thank you I practice throughout the whole project

  • @islamahmad9
    @islamahmad9 День назад

    Thank you so much, Excellent tutorial

  • @wEbCoAdEr
    @wEbCoAdEr Год назад +1

    Thank you for this outstanding contribution sir!!

  • @Stretsh
    @Stretsh 11 месяцев назад

    Awesome crash course! Thanks a million! There is very little available about using Vue with Composition API
    Some honest feedback: You are using "What we/you [wanna/gonna/going to/could] do, is..." a lot! Like within every 3 to 4 sentences, on average.

  • @hamayunkhan8088
    @hamayunkhan8088 Год назад

    Thanks for the knowledge!

  • @devshakilahmed
    @devshakilahmed 9 месяцев назад +1

    great course, and I appreciate your hard work. I've learned a lot from it. Thanks.

  • @danielalonsomaqueira7839
    @danielalonsomaqueira7839 4 месяца назад

    Thank you! This was a really great, fast and well explained course. I was able to understand everything easily. Im waiting for the nuxt course!

    • @JohnKomarnicki
      @JohnKomarnicki  4 месяца назад

      Super glad to hear! Working on it as we speak! 😎

  • @millennialsdev
    @millennialsdev Год назад +2

    I love your method to teach! I come from Italy and your english is very easy to understand. I hope to see the full course with vue 3 + pinia and vite.js, maybe also with a MEVN project!

    • @JohnKomarnicki
      @JohnKomarnicki  Год назад +6

      I have a full stack project using Vue, Pinia & Altogic to create a Instagram clone that should be releasing sometime in March

    • @okbaalla8451
      @okbaalla8451 11 месяцев назад

      ​@@JohnKomarnickistill waiting john, that would really help a lot ❤❤❤❤

  • @jose-kb1dg
    @jose-kb1dg 9 месяцев назад

    This is the best Vue tutorial for beginners, Easy explained, not several hours long, and a very good start to develop the knowledge in programming. There is much more you can do and explore. Thank you very much👍 😀🙏

  • @bitace
    @bitace 7 месяцев назад

    Lovable course! A Nuxt 3 crash course like this would be amazing

    • @JohnKomarnicki
      @JohnKomarnicki  7 месяцев назад

      Currently working on a full course for nuxt! I’ll be releasing a crash course portion here on RUclips before the end of the year!

  • @lucasvasconcelos8161
    @lucasvasconcelos8161 9 месяцев назад

    Nice crash course, with a good pace. thank you!

  • @mehmetaltinsoy525
    @mehmetaltinsoy525 Год назад

    Great video. Thanks.

  • @albertoginelsalvador2172
    @albertoginelsalvador2172 4 месяца назад

    So Good!!

  • @joaquin4108
    @joaquin4108 8 месяцев назад

    Great Video! Thanks for your work!

  • @RianY2K
    @RianY2K Год назад

    Thank you for tutorial 😄

  • @DanielTames
    @DanielTames Год назад

    Excelente video John!

  • @batuhankir8402
    @batuhankir8402 4 месяца назад

    thanks a lot great job

  • @bavishkasathyanjana1384
    @bavishkasathyanjana1384 10 месяцев назад

    This is Gold

  • @dfordemo981
    @dfordemo981 Месяц назад

    excellent and super awesome ❤❤

  • @infas_mhd
    @infas_mhd Год назад

    Timely and Best

  • @simplethings8112
    @simplethings8112 Год назад

    Very relevant tutorial. Thanks!🥰

  • @rem2764
    @rem2764 Год назад

    useful for me, thanks

  • @user-jz7yu8nx3c
    @user-jz7yu8nx3c Год назад

    Greate video, thanks for sharing.

  • @millennialsdev
    @millennialsdev Год назад +3

    Little tip: RouterLink can be written also and you can also avoid to import that! Exactly! This is a global component in vue 3 so it will still continue to work
    P.s
    I think that there are a few of little errors in this video (just about semantic about html):
    - You put tag twice. In the header and inside a main. This is an error
    - After the tag is better to put the tag and not directly the tag
    Thanks for your content John, Vue is my favorite framework

    • @JohnKomarnicki
      @JohnKomarnicki  Год назад +4

      Oh instresting, I wasn’t aware of that with the Router Link.
      Yeah, I’m still trying to get better with semantic HTML!
      I appreciate that! 😀

  • @caaltz
    @caaltz 5 месяцев назад

    Thanks John amazing Crash Course

  • @xitan4194
    @xitan4194 Год назад

    Thanks!

  • @user-mq6bd2in1u
    @user-mq6bd2in1u Год назад

    Super nice thx! Can you show how to integrate postgresql?

  • @thodev0911
    @thodev0911 10 месяцев назад +1

    Thanks. You are great!!

  • @Simon-lk6ky
    @Simon-lk6ky Год назад

    nice job! subscribed

  • @rohanpandey3704
    @rohanpandey3704 Год назад

    Great tutorial !!

  • @leafaravlis7361
    @leafaravlis7361 10 месяцев назад

    thanks!

  • @budzmarooo5363
    @budzmarooo5363 6 месяцев назад

    Superb!! 🎉

  • @Free--Soul
    @Free--Soul Год назад

    Great job John..I am waiting for your new contents on RUclips and on Udemy..

  • @TruthSeekerClub
    @TruthSeekerClub 9 месяцев назад

    coolest crash course ever

  • @guilhermegirardi
    @guilhermegirardi 6 месяцев назад

    Awesome!

  • @aditijain2448
    @aditijain2448 Год назад

    I just feel some of the main features such as editing, checking out items from the list are not quite explained here, got from the repo tho 👍

  • @user-hq1yd8iw1c
    @user-hq1yd8iw1c Год назад

    Good job

  • @prashlovessamosa
    @prashlovessamosa Год назад

    Hey yo thanks 🙏

  • @HaifengZhu-pn3uq
    @HaifengZhu-pn3uq 3 месяца назад

    Look forward to react tutorial

  • @user-px2jq1bm8t
    @user-px2jq1bm8t 11 месяцев назад

    why does the higher load performance impact SEO negatively? Can anyone explain it?

  • @da_stoaz
    @da_stoaz 2 месяца назад

    Really well-organized Tutorial, thanks a lot!
    But why does Stripe want my Phone number and my ID Through a Driver's License or Passport??

  • @soonduck9410
    @soonduck9410 Год назад

    Which plugin should I use for the result in blue text next to the console.log?

  • @sensen9235
    @sensen9235 11 месяцев назад

    wouldnt the delete method be really shit since it has to loop through all the todos

  • @h.t.8812
    @h.t.8812 5 месяцев назад

    I tried to deploy and it didn't work :( both in vercel and netlify, anyone else?

  • @farhana5499
    @farhana5499 5 месяцев назад

    why is the delete functionality using id and the others are using index? can we use index since isn't id and index practically the same thing?

    • @spahks
      @spahks 5 месяцев назад

      You're right. Theoretically you could only use one of them. But in this case it's just easier to manipulate the data with index and deleting an item with the id using the filter method.

  • @suhardy003
    @suhardy003 11 месяцев назад

    38:17 how to do it in setup() {....) ?

  • @sweatdog
    @sweatdog Год назад

    Having trouble with the deploy to Netlify. I have connected my repo and Site Overview > Production deploys shows "Published". When I click the link at the top to navigate to my app the resulting page is a "Page Not Found" error. Did I miss a compile + minifiy step for production? There are no errors on my Site overview page. EDIT: fixed this by redefining root folder in my repo. Netlify was not seeing my index.html.

    • @JohnKomarnicki
      @JohnKomarnicki  Год назад +1

      Ah! Glad to see you were able to get this fixed!

  • @Benthetech-qn2lf
    @Benthetech-qn2lf 6 месяцев назад

    ❤❤❤

  • @nxone9903
    @nxone9903 Месяц назад

    so much better than react

  • @tone1245
    @tone1245 Месяц назад

    my terminal isn't able to run the 'npm run dev' command from vs code smh.
    Any tips for a beginner?

    • @JohnKomarnicki
      @JohnKomarnicki  Месяц назад

      Did you install all the dependencies? Also, are you in the correct folder with the vue app in the vs code terminal?

    • @tone1245
      @tone1245 Месяц назад

      @@JohnKomarnicki Yes. I can run the command in my cmd but not vscode terminal. I deleted and added the vscode path in my environment table too.

    • @cannabisanomaly
      @cannabisanomaly 16 дней назад

      A little late in getting to this, but did you figure it out? Do you have node installed? You can check to see if it's installed by running the command:
      node -v
      in your terminal and it should produce some version number (ex. v20.11.1)

  • @johnmarkbondad6009
    @johnmarkbondad6009 10 месяцев назад

    excellent tutorial. do you have vuex tutorial?

    • @JohnKomarnicki
      @JohnKomarnicki  10 месяцев назад

      Not with Vuex, but I do have a pinia tutorial, which is now the recommended library to use for state management within Vue 3.
      Introduction To Pinia | Vue 3
      ruclips.net/video/gwcca_zd4IE/видео.html

    • @johnmarkbondad6009
      @johnmarkbondad6009 10 месяцев назад

      @@JohnKomarnicki thanks

  • @yordanyordanov5258
    @yordanyordanov5258 Год назад

    This tutorial is great! But when coding it myself I stumble upon following issue: uid() function is not working properly. It prevents todos from storing in array! Anyone any suggestions?

    • @JohnKomarnicki
      @JohnKomarnicki  Год назад

      Did you import it into the component?

    • @yordanyordanov5258
      @yordanyordanov5258 Год назад

      @@JohnKomarnicki Yes, I did it. It finally worked after endless dev server restarts, vs code restarts and finally getting latest uid version, but frankly, not sure what did the magic. Cost me several hours to get it done your way,😀 but I shall not surrender. Thank you very much!

  • @JustThink2000
    @JustThink2000 11 месяцев назад

    How can I get the discount code?

  • @klirmio21
    @klirmio21 Год назад

    my brain is gonna blow up right now.........................................

  • @dmkhiladi
    @dmkhiladi 10 месяцев назад

    I have a Mac !

  • @ahmedsamy9999
    @ahmedsamy9999 Год назад

    Vue darggable not working with project 😥

    • @JohnKomarnicki
      @JohnKomarnicki  Год назад +3

      I was going to do a couple of follow up videos, implementing some features with various libraries. This is one of them. So stay tuned for that video

    • @johnnydriesen7575
      @johnnydriesen7575 Год назад

      Looking forward to the follow up vids as well.
      Thanks in advance, ​@@JohnKomarnicki

  • @IoSuAu
    @IoSuAu 7 дней назад

    This tutorial could have been 1hr instead of 2 if it wasnt for all the styling 😅, its good tho

  • @JohnKomarnicki
    @JohnKomarnicki  Год назад +3

    📕Vue 3 Crash Course: johnkomarnicki.gumroad.com/l/tqrmw (Ad Free - Now on gumroad)
    A couple updates:
    37:47 - There is some more advanced differences between ref() & reactive(). The way we will be using them both within this course will not expose those advanced differences. If you want to learn more on these i created a video covering them in more depth. ruclips.net/video/OaUpEyz4zxs/видео.html
    41:00 - The defineEmit is a macro within Vue. You do not need to import it like i did within this section.
    55:30 When we are performing the "class binding" using the ":class", this is a shorthand for what is called the v-bind directive. Which is how you bind data to items within the template. So the full version would look like this "v-bind:class" Vue offers a shorthand, which is just ":". Throughout the remainder of this course we will use the short hand to bind data to different attributes within the template.
    1:19:00 When using the v-if directive with the v-else directive, they need to be done in a sequence. Meaning that it can only be used on the next element in the template after a v-if directive
    1:50:51 One thing we did not cover in regards to routes/pages is how to set the page title within the tab. I have a quick separate video you can watch on how to do this. ruclips.net/video/W6qpsmkuJ8c/видео.html
    Hopefully you enjoy the crash course. if you see anything else just be sure to leave a comment and i'll try my best to reply.

    • @draj3214
      @draj3214 Год назад

      @1:19:00 worth mentioning v-if/else directives have to be used sequentially following the element the v-if sits on, otherwise the v-else (or else-if) will not be recognized

    • @JohnKomarnicki
      @JohnKomarnicki  Год назад +1

      @@draj3214 I did mention this later within the video. But yes that is a valid point! Thanks for pointing this out

    • @draj3214
      @draj3214 Год назад

      @@JohnKomarnicki oh my bad. must have missed it.

    • @JohnKomarnicki
      @JohnKomarnicki  Год назад

      No worry, definitely should have mentioned this within this section!

  • @TheChyamp
    @TheChyamp 6 месяцев назад

    Tash. All tutorials using the ToDo example from Vue lol

    • @JohnKomarnicki
      @JohnKomarnicki  6 месяцев назад

      *trash, but thank you for taking the time to comment :)

    • @tommyshaw2420
      @tommyshaw2420 5 месяцев назад

      @@JohnKomarnicki The nerve of some people lol. Just got a good laugh about it though! Dude is watching your video and commenting and helping you out with the algo without even knowing, the stupidity of some people, I bet he is still stuck at hello world

  • @rhino_interactive
    @rhino_interactive Год назад +1

    I think I heard "to do" about 10000000 times 😅😅 great tutorial btw!

  • @feifeilooper8312
    @feifeilooper8312 Год назад

    Excellent contents

  • @ruksharalam173
    @ruksharalam173 Год назад

    One of the best vue crash courses to get one started with vue.