Angular Crash Course

Поділитися
Вставка

КОМЕНТАРІ • 1,4 тис.

  • @UsmanTheDev
    @UsmanTheDev 3 роки тому +1615

    Today i got my first job due to your courses. Love and respect for you from pakistan

    • @TraversyMedia
      @TraversyMedia  3 роки тому +559

      That’s awesome man, congrats. But it’s due to your hard work. I may have had a helping hand, but you did it. Great job 😊

    • @simple8810
      @simple8810 3 роки тому +15

      Congrats man

    • @Ab-cj6gl
      @Ab-cj6gl 3 роки тому +10

      congrats brother

    • @adilmughal2251
      @adilmughal2251 3 роки тому +7

      Congrats bro.

    • @saurabhumadikar2345
      @saurabhumadikar2345 3 роки тому +6

      Congrats

  • @kevyyar
    @kevyyar 3 роки тому +77

    We need a full course Brad! You explain so much better than all those other instructors!

    • @BusinessWolf1
      @BusinessWolf1 Рік тому +9

      he kinda did. you can learn everything else on your own bit by bit, as you should

  • @reezuanrahim6646
    @reezuanrahim6646 3 роки тому +60

    I think this is by far the most complete Angular tutorial done in two hours.. although it is not meant for a total beginner. Well done.. tq.

    • @dantshisungu395
      @dantshisungu395 2 роки тому +3

      Unfortunately some of us are total beginner

    • @pieflies
      @pieflies 2 роки тому +3

      @@dantshisungu395 for total beginners, I would recommend doing a lot of JavaScript learning (and also HTML and CSS) before learning Angular.

  • @damienquamme4903
    @damienquamme4903 Рік тому +52

    If you're using Angular 17, you do have to import the component, at least I had to in order to get this to work. Example below:
    app.component.html
    import { Component } from '@angular/core';
    import { CommonModule } from '@angular/common';
    import { RouterOutlet } from '@angular/router';
    import { HeaderComponent } from './components/header/header.component';
    @Component({
    selector: 'app-root',
    standalone: true,
    imports: [CommonModule, RouterOutlet, HeaderComponent],
    templateUrl: './app.component.html',
    styleUrls: ['./app.component.css']
    })
    export class AppComponent {
    title = 'angular-crash';
    }

    • @XIAIXd3
      @XIAIXd3 Рік тому +4

      Thank you for this! I thought I was going crazy. Would be cool if OP would update this whole tutorial for V17 on upward.

    • @joaomarcos7545
      @joaomarcos7545 10 місяців тому +1

      Thank you!!!

    • @JuanManuelLinaresBloggerDeNiro
      @JuanManuelLinaresBloggerDeNiro 9 місяців тому +3

      Thanks man, you also saved me! I was under the impression that it had to do with Brad using a previous version of Angular, but I didn't completely understand the instructions provided in the error. Just as a suggestion: you should probably clarify that the code above is from app.component.ts., not app.component.html.
      Anyway, you made my day :)

    • @TrueStoriesYoutube
      @TrueStoriesYoutube 8 місяців тому

      Ils in .ts ont .html but thank you

    • @JaafarCherkaoui
      @JaafarCherkaoui 8 місяців тому

      thanks bruv

  • @3pleFly
    @3pleFly 2 роки тому +195

    If you have the error where your variables have not been initialized = that's because typescript requires you to initialize your variables similiar to strongly typed languages. While you should have a default value set and work with this feature to really utilize typescript, for this small 'project' you could just put an exclamation mark before your variables and it will let you leave them uninitialized, for example: subscription!: Subscription; or @Input() task!: Task;

    • @reedhimes
      @reedhimes 2 роки тому +7

      thank you! i had this issue. also when the button component was created, there was no import for Input, so had an error on @Input.

    • @RataBohemia
      @RataBohemia 2 роки тому +6

      You saved me bro, thank you

    • @ericlaravega6438
      @ericlaravega6438 2 роки тому +5

      Thanks a lot, I couldn't find the way to make it work

    • @juandelahoz4577
      @juandelahoz4577 2 роки тому +3

      ty man! that was very helpful

    • @johnchisowa8867
      @johnchisowa8867 2 роки тому +2

      Thanks. Spent the whole day trying to resolve this..

  • @robertrey7002
    @robertrey7002 3 роки тому +24

    Hey Brad you have built really an awesome channel over the years. Even though I don't really spend much time with Web Dev anymore, I still like to come back from time to time and watch your content, as well as your insights on life/work/mental health etc... Truly amazing work

  • @hashanhemachandra4071
    @hashanhemachandra4071 2 роки тому +23

    Thanks so much Brad. Thanks to this tutorial, I got my first job as a Software Engineer. Your life story is so inspiring and motivated me in my journey. I was a mechanical engineer and with so much hard work, I was able to shift my career. And on that journey, you played a most crucial role. May gods blessings be with you every day. Love and Respect form Sri Lanka ❤️

  • @alexanderbarsukov1796
    @alexanderbarsukov1796 3 роки тому +102

    I was fighting my way through Udemy course I bought for several days, and after watching 30 minutes of this crash course I already understand more Angular than ever! I am so happy this course appeared today! Thank you so much Brad! If I land a job first thing I'll do I will buy some of your courses.

    • @brunomiguelgroth
      @brunomiguelgroth 2 роки тому

      Exactly my situation. "Angular Corre Deep Dive", terrible experience.

  • @jinge8943
    @jinge8943 2 роки тому +4

    I saw this tutorial 2 times, and it was well organized tutorial for a new learners means most concepts needed in Angular in just 2 hours with small todo app.
    Did a good job!

  • @webdecodedwithfahad4414
    @webdecodedwithfahad4414 3 роки тому +185

    You cannot imagine how much happy I was to get notification about this course😍

  • @muthu1046
    @muthu1046 3 роки тому +73

    Finally!.. I've been waiting for Angular Crash Course for a long time👍

  • @rohitpurkait6951
    @rohitpurkait6951 3 роки тому +524

    If you are using the latest version of ts then make sure to declare your variables in the constructor otherwise it will throw an error.
    You can also use an ! sign after the variables. For example, @Input task!: Task;

    • @altangerelbaatar9960
      @altangerelbaatar9960 3 роки тому

      hairtaishu anda

    • @rahulxdd
      @rahulxdd 3 роки тому

      Could you please give another example? I am new to this

    • @jewkeynoh
      @jewkeynoh 3 роки тому +29

      " ! " for required variable and " ? " for optional.
      For Example:
      text?: string;
      day!: string;
      I'm using Angular 12 btw.

    • @rajatnegi3896
      @rajatnegi3896 3 роки тому +1

      please give snippet of how to do it in constructor

    • @delta1962
      @delta1962 3 роки тому +59

      @@rajatnegi3896 at 25:40 i used the following code:
      import { Component, OnInit , Input} from '@angular/core';
      @Component({
      selector: 'app-button',
      templateUrl: './button.component.html',
      styleUrls: ['./button.component.css']
      })
      export class ButtonComponent implements OnInit {
      @Input() text!: string;
      @Input() color!: string;
      constructor() { }
      ngOnInit(): void {
      }
      }

  • @uncreativename454
    @uncreativename454 Рік тому +8

    Can I just say I love the little notes and comparisons you sprinkle in for people who are coming from React
    Like saying "It's like props" or "You don't need to import this here" for example
    It actually really helped me better understand this, and of course this is an amazing video as usual overall!
    Thank you!

  • @bittujacob8776
    @bittujacob8776 3 роки тому +1

    i started watching your video in 2017 (html website development) when i was jobless, and now when i hear your voice, it reminds me where i was and where i am! Thankyou!
    God bless.

  • @PaulSebastianM
    @PaulSebastianM 3 роки тому +5

    56:22 Brad, you can double click a word to select it, type " and VSCode will wrap the word in quotes instead of what you would normally think it would do, which is to replace the word with a ".

    • @tobiasfuchs2502
      @tobiasfuchs2502 2 роки тому +2

      By pressing CTRL+D you can also select further elements and then type " to replace all at once.

  • @marcogrillo3396
    @marcogrillo3396 Рік тому +1

    I searched many other courses in yt and even though this is a crash course with older version than actual is still the best around. Keep going Brad!

  • @MubinKhanLodhi
    @MubinKhanLodhi 2 роки тому +3

    Brilliantly explained ... I've been doing Angular related projects for a while but mostly it was a Google search to get different things done, with your course, everything is covered so wonderfully that now I have a better hang of it. Thanks a ton ... Keep up the good work !!!

  • @ebrahimsaed8810
    @ebrahimsaed8810 2 роки тому +3

    Best programmer in the world, I really appreciate everything you do, truly learning a LOT from you

  • @bornultimat4813
    @bornultimat4813 3 роки тому +5

    Probably the best Angular tutorial I've ever seen...
    You really helped me to understand the framework and it's function!
    Especially the combination of Frontend and Backend...
    Thank you very much!!

  • @StevenLantz
    @StevenLantz Рік тому +1

    excellent! so clear and easy to follow, i am a 30 year IT professional and 18 year .NET developer and needed to look at this for new versions of my company's applications. Great first step and now that i see how the architecture is structured it is much less confusing than the first attempt made at understanding it. I am subscribed and can't wait to watch the other videos.

  • @saikumark1224
    @saikumark1224 3 роки тому +11

    I completed learning Spring Boot yesterday. Then, I wanted to learn a JS framework. I fixed on Angular.
    And Now I get this notification.
    Thank you Brad 👍✌️.
    You are life savior buddy🙏

    • @sachin__ak
      @sachin__ak 3 роки тому +1

      Go with Vue or React, it is better than angular

    • @saikumark1224
      @saikumark1224 3 роки тому +3

      @@sachin__ak I will learn them later.. But the Orgs in India prefer Angular mostly... That's the reason I am learning Angular

    • @saikumark1224
      @saikumark1224 3 роки тому

      @@sachin__ak Are the companies hiring for React here?

    • @barryblack8332
      @barryblack8332 3 роки тому

      @@sachin__ak You mean it's easier to learn.

    • @sachin__ak
      @sachin__ak 3 роки тому

      @@barryblack8332 yep and developer friendly too, vue js is the most simplest to learn

  • @lvm_azn
    @lvm_azn 10 місяців тому +6

    26:28 Had issues with the [ngStyle] attribute
    I did instead:
    [style.background-color]="color"
    - Update, also just learned that the default mode for components is standalone now. Which means whenever he is going to the app.module.ts to import something, just import it to the component you need it in. standalone = modules are for only that component.

  • @OverDrive804
    @OverDrive804 3 роки тому +15

    Just recently started learning Angular since the company I work for requires you to learn it and I want to teach myself Ionic at some point. I use to not like Angular, but I am starting to really enjoy it. Mainly because of how simple it is to build components and services to integrate existing third party APIs. Hope it will be here to stay for a long time🙂

    • @KristherLouisVidal
      @KristherLouisVidal 3 роки тому

      Same here. I was a vue dev before and after learning angular, I’m enjoying it more

  • @luizcarlosdequeirozfilho2580
    @luizcarlosdequeirozfilho2580 3 роки тому +51

    I was getting this error while declaring "onDelete(task)" (1:04:50): Parameter 'task' implicitly has an 'any' type.ts(7006) angular. I fixed declaring as "onDelete(task: any)".
    It's also possible to change "noImplicitAny": false, at "tsconfig.json" file, but I didn't tried this way.

    • @CabetoCifuentes
      @CabetoCifuentes 3 роки тому +1

      Thanks!!!

    • @febobebo9634
      @febobebo9634 2 роки тому +4

      Thank you very much, your comment helped me right away.
      I think it's better that I get used to declaring variable type, as that is a great feature of TypeScript.
      By the way, to be more precise set variable type to Task.

    • @alessiolearning8735
      @alessiolearning8735 2 роки тому +1

      As @Febo Bebo said, to be precise you should declare "onDelete(task: Task)"

  • @王冠信-o1c
    @王冠信-o1c 3 роки тому +16

    I've been following React, Vue, and Angular here, and in my opinion:
    1. The advantage is that angular separate everything in the name of the component folder, which makes it easy to track the code.
    2. Another thing is that the observable and subscription pattern ensures the asynchronous actions are clear and robust.
    3. Default typescript.
    The points mentioned are fonds of debugging to refactoring.
    -----
    3. However, one component has four files, and sometimes it could be messy. Lots of files are kinds of mental attacks when switching and looking for files.
    4. Angular exposes more complexity to the developer that one must first learn the class, constructor, implement, and the public, private data types. Otherwise, it could be challenging to understand. Instead, React and Vue hides those complexities, which are more user-friendly.
    5. ng generate xxxxx is annoying.

    • @frantostin
      @frantostin 3 роки тому +7

      As a little help, you can also use "g" instead of typing generate, and the same goes to component with "c", so you can just use "ng g c" and the name of it. Hope this helps a little bit!

    • @王冠信-o1c
      @王冠信-o1c 3 роки тому +1

      Thank you!

    • @fatihersoy7559
      @fatihersoy7559 3 роки тому +5

      "Angular exposes more complexity to the developer that one must first learn the class, constructor, implement, and the public, private data types". You should be thanking Angular because of this. Becuase they are the very fundamental of software developing, if you don't need them with other libraries/frameworks today, you'll need if not now but tomorrow so learning the basics of OOP is always good. Also if you don't want, you may not use ng generate, you can manually create your files and register to modules yourself. ng g just makes everything easier.

  • @dddontalktopolice2754
    @dddontalktopolice2754 2 роки тому

    4 years ago I started my career with great help from traversy media tutorials. 4 years later I’m still learning new things and traversy always seems to have a good tutorial no matter what I am learning … this channel is the best. Thanks so much for all the content .

  • @karlchiucinco3801
    @karlchiucinco3801 3 роки тому +3

    Thank you so much for that crash course! I think you covered all the fundamentals in building an Angular app.
    No boring lectures, just straight coding which is what I need!

  • @lenvaz6689
    @lenvaz6689 3 роки тому +3

    For minor corrections which actually mislead begginers most of the time is when you used a function call directly into the *ngIf condition for add task button. It does effect an application of this size but it does affect larger applications as a function can always have a different output.

  • @cobrakilla8
    @cobrakilla8 Рік тому

    This is possible the best Angular crash course I have ever watched. You are an amazing teacher, thanks.

  • @john_michael_white
    @john_michael_white 3 роки тому +21

    This is a magnificent tutorial. A month ago I watched it, having had a background which included AngularJS several years ago, and now I'm flying with the Angular 13. It's such a fun framework to develop with once you're over the learning curve, and getting over it was 100% thanks to you. Great stuff!

  • @OlegWin355
    @OlegWin355 3 роки тому

    Sr. Software engineer here with over 20 years of experience. Thank you for the best course online. ❤

  • @DeanMcCoy
    @DeanMcCoy 3 роки тому +7

    Never hurts to get a refresher on an Angular crash course. 👍

  • @nateF888
    @nateF888 2 роки тому +3

    25:40
    when I try to do @Input() text: string;
    I get
    "Property 'text' has no initializer and is not definitely assigned in the constructor."
    Error.
    does anyone know why ?

    • @nateF888
      @nateF888 2 роки тому +4

      If anyone got the same problem, i solved it by putting "?" After "text".
      @Input() text?: string;

    • @YoYouWildinBro
      @YoYouWildinBro Рік тому

      @@nateF888 thanks! that worked for me!

  • @b1n0ry92
    @b1n0ry92 3 роки тому +32

    Brad I wish Django Course like this, hope you see this :) and all I want to say is thanks for everything you have done for the community, you are great man among us.

    • @TraversyMedia
      @TraversyMedia  3 роки тому +8

      I have a Django crash course. It is maybe a year old, ut still relevant

    • @b1n0ry92
      @b1n0ry92 3 роки тому

      @@TraversyMedia :)

    • @IRgEEK
      @IRgEEK 3 роки тому +1

      @@b1n0ry92 and the Django course just as awesome as all Brad's content. Go get it.

  • @hrudayd6640
    @hrudayd6640 3 роки тому

    Because of u I was working with good product based company started from zero from your tutorials
    Thanks a lot

  • @mirkovolkov7636
    @mirkovolkov7636 2 роки тому +13

    Since the project is fairly simple, you could embed the HTML and CSS code in the "ts" files reducing "files hopping", also you can create a minimal app with "ng new ##name## --minimal" , this way you reduce to 1 the number of files per component, furthermore you can create minimal components with the "-s -t" options at the end of the command.

    • @BusinessWolf1
      @BusinessWolf1 Рік тому +1

      you made that comment 11 months ago, the video was posted 2 years ago.

    • @lobomalsano
      @lobomalsano 18 днів тому

      @@BusinessWolf1 So both the video and the comment are obsolete now lol

  • @xXrandomryzeXx
    @xXrandomryzeXx 2 роки тому +2

    Although I've never been a huge Web Programming fan, after going through this tutorial, I suddenly feel the urge to create more apps using Angular. It's just so nice, fast and practical.

    • @freerabiul5255
      @freerabiul5255 Рік тому +1

      What! Angular seems so messy! I don't know!

  • @robertjesuraj
    @robertjesuraj 3 роки тому +6

    Wanted to appreciate the effort you put to make the points clear. Great teaching skill❤️. This angular 2 hr course is enough to build great applications.👍 covers all topics. 👏

  • @argentaegis
    @argentaegis Рік тому

    The quality and robustness of your tutorial videos is always appreciated.

  • @arnabpersonal6729
    @arnabpersonal6729 2 роки тому +1

    Must say Brad has done a good job in teaching a hard framework and include all features that it provides.

    • @shivani9840
      @shivani9840 2 роки тому

      Hey Arnab! Are you a fresher and open to opportunities in web development currently? Have you created any projects in JavaScript frameworks?

  • @javiersistemas
    @javiersistemas 3 роки тому +6

    Who put a dislike to our buddy Brad? 🤔 ... All my success, my man ... You deserve 10k likes in every video cause you're very clear in your explanations 😀😀🚩🚩🙏🙏💪💪

    • @kettenbach
      @kettenbach 3 роки тому +4

      Ben Awad? 🥕👨‍🌾🚜

    • @javiersistemas
      @javiersistemas 3 роки тому

      @@kettenbach hahaha 😂😂😂

  • @barteg_s
    @barteg_s 2 роки тому +32

    Coming from React I'm finding this quite challenging to be honest. My brain is so used to JSX and state, that all of this seems really hard to remember. Especially rxjs. I know it will take up quite a lot of time to be comfortable, but this video is a good starting point. I landed a job which requires me to code in Angular, hopefully I will be productive with it soon. Thanks Brad!

    • @123userthatsme
      @123userthatsme 2 роки тому +3

      Right?! He started adding to task service and I was like "why is his beginner's tutorial stateless??"

    • @spankyspork5808
      @spankyspork5808 2 роки тому

      If you're having trouble wrapping your head around writing Angular tests, try the suite-slimmer-angular npm library, makes it a lot easier

    • @stefannikolovski3167
      @stefannikolovski3167 2 роки тому +2

      @@123userthatsme Is that the reason why when deleting a task he is doing it both from the db AND filtering it out from the UI?
      I thought when you delete it from the db it automatically updates the UI since we have getTasks() in the onInit method

    • @tastes-like-straberries
      @tastes-like-straberries 2 роки тому

      @@stefannikolovski3167 that's a good point. i don't know why i never thought of it

    • @pieflies
      @pieflies 2 роки тому +2

      @@stefannikolovski3167 The ngOnInit() hook only gets fired when the component is created, so if you want to fetch the data again later you need to implement that some other way.
      Generally speaking, when you’re interacting with data via HTTP requests, you don’t want to make unnecessary requests, so you don’t want to do another HTTP GET after the HTTP DELETE if you don’t need to (in this case you don’t need to).
      So you just delete in the DB and if that is successful you delete in the UI.

  • @deefadale
    @deefadale 3 роки тому +11

    Tip: Most of the pain of Angular is removed when you use its Template observable binding features instead of Component binding via the 'async pipe' (eg *ngFor let task of tasks$ | async). This cuts out about 80% of code in your component.ts as the async pipe handles all the observable subscribes/unsubscribes for you. Best rule I found: manual component subscription => code smells, auto template subscription => blessed life, all remaining mandatory subscriptions abstract away into a service if possible. Great crash course for beginners though, awesome content!

    • @IconicProps
      @IconicProps 3 роки тому +1

      I would like to say I follow, but I don't. Can you point me to some more info on this?

  • @BusinessWolf1
    @BusinessWolf1 Рік тому

    You are one of the best explainers I've had the privilege of listening to.

  • @vladimirjecic3871
    @vladimirjecic3871 2 роки тому +7

    I followed this entire course and made my first project in angular, thank you! Your presentation was really good,and easy to follow through. One suggestion I only have is to name variables differently across components for example at 37:57, too many things had name 'task. It all works well like that, but as a beginner who seeks to understand how parameters are passed and how angular works in general, it would make more sense to me if I was able to discern exactly which property is referenced and where.

    • @Salma.Louhichi
      @Salma.Louhichi 2 роки тому

      Did you use Angular 15 ? or which version exactly ?

    • @vladimirjecic3871
      @vladimirjecic3871 2 роки тому

      @@Salma.Louhichi Hi! I used the latest version at that time which was 15.0.1

  • @brunomiguelgroth
    @brunomiguelgroth 2 роки тому

    You are just amazing.
    I had already done your React Crash Course, and now I need to learn Angular.
    I was having a Udemy course and was an terrible experience. Bad tutor, he was really uncommitted with the student learning. Feels like a word generator.
    He didn't even explain the project content, just ordered that I clone a pre-made repository and start insanely coding from there. Really overwhelming because you don't know where you are and what you are doing.
    Your content is just perfect. Rethorical, logic, skills... a real Knowledge Transfer.
    Thanks a lot.

  • @tradewithtony
    @tradewithtony 3 роки тому +10

    Waoooooh Greetings from Tanzania, Have been waiting for this one.

    • @mpembainc
      @mpembainc 3 роки тому

      React na Angular Developer kutoka Tanzania visiwani (Zanzibar). Nimefurahi kukutana na ww hapa.

  • @aleksandranikolov5713
    @aleksandranikolov5713 3 роки тому

    Best explanation ever. Already payed for 3 courses on udemy looking for nice explanation and didnt understood anything. Thank you! You are the best

  • @ramiibrahem4386
    @ramiibrahem4386 3 роки тому +8

    Angular is my favorite frontend framework 🔥
    Thank you very much 💖

    • @jgttech
      @jgttech 3 роки тому

      And probably the only one you know if this is your favorite.

    • @ramiibrahem4386
      @ramiibrahem4386 3 роки тому +1

      @@jgttech
      Well, I dealt with other frameworks like Vue and Svelte as well as React library and in the end I found that Angular was the best choice for me but unlike you, my preference for a specific framework doesn't mean that I don't respect other frameworks.

  • @davidwang5445
    @davidwang5445 3 роки тому +1

    This is a great Angular crash course. It is very practical, simulating to the real world. The teaching is very clear, well organized and presented. Strongly recommended!

  • @arvilynrogel8781
    @arvilynrogel8781 3 роки тому +4

    Hello, thank you so much for this 2 hour tutorial. It's a great help for me who's currently on bootcamp as a full stack developer.

  • @umeshhbhat
    @umeshhbhat 3 роки тому +1

    I used to see comments where people mention that they were thinking about a tutorial and then their UA-camr uploads the video on the same topic.
    The same thing happened with me finally :)

  • @gradientO
    @gradientO 3 роки тому +17

    Angular is good actually. It doesn't deserve the hate it gets. It's sad. I thought of finally deep diving into angular after some years, and you release this video exactly after that. Thanks

    • @darkman8939
      @darkman8939 3 роки тому

      @@chitrangsharma bro even updates are not crucial in angular if you learned angular since v2 it still the same until now it gets update on the performance and internal stuff not the syntax or features, and it does not follow MVC Angular follows a component-oriented architecture, mvc can only be on the backend

    • @DEVDerr
      @DEVDerr 3 роки тому +6

      It's hated because:
      - it's named poorly - it shouldn't be named Angular anymore, because still people think about Angular 1 after hearing "Angular" to this day (which is ridiculous for me but it is what it is unfortunetly. Blame people)
      - it's not as minimalistic as React or Vue - but people don't know that it's good (really good), because only Angular gives you 100% compatible features like SSR, PWA etc. right away and it well suits corporate apps with it's strict way of doing things which reduces amount of bad code and architecture by a lot
      Maybe some day this weird JS community will finally see how many problems Angular solves in this ecosystem

    • @barryblack8332
      @barryblack8332 3 роки тому +1

      @@DEVDerr You would be surprised how difficult it is to give a good name to your stuff.
      But then I think they can do better, these guys went from renderer to renderer2(like HOW).
      There's a componentFactoryResolver and
      resolveComponentFactory.
      There's more of these.

    • @funkymunky8787
      @funkymunky8787 3 роки тому

      This is not a deep dive into angular by any means

    • @punsmith
      @punsmith 3 роки тому +3

      Much agreed. Angular allows me to do almost everything I want without downloading any additional dependencies and have a robust and performant web app. But for some reason people were tricked that "Classes" are a bad thing, that JSX somehow is super amazing and Angular directives are not "pure" html and SUPER confusing. Also, only React developers have become NOTORIOUSLY worried about immutability and components knowing their own state, eventually spawning some of the weirdest concepts (like creating a component for a component that holds its state...). Angular and Vue all the way. Maybe now Svelte too... but I'll wait for what Sapper will be replaced by.

  • @andrewlawton7415
    @andrewlawton7415 2 роки тому +2

    At minute 39:00 I am getting an error @Input() task: Task; Is anyone else getting an error Property 'task' has no initializer. I have had no error up until now and the webpage will not compile. I cannot move any further in the tutorial.

    • @andrewlawton7415
      @andrewlawton7415 2 роки тому +1

      UPDATE: I had to modify my code. Replaced line. "@Input() task: Task" TO " @Input() task!: Task;". Just a Heads Up

  • @cybercharlatan9424
    @cybercharlatan9424 3 роки тому +5

    This tutorial was awesome, normally I would just lurk but I felt a need to say how much I appreciate you making this video. As you led on, my background is with React so I agree Angular can be a little more tricky but I'm tempted to watch your React video as well just because I like your style so much and see if I pick up anything

  • @daman5957
    @daman5957 2 роки тому +2

    at 25:28 when Brad declares the @Input, if you get an error "Property has no initializer and is not definitely assigned in the constructor"' you can write it like @Input() text!: string; this is a temporary fix OR @Input() "text": string; is the same OR keep it the same as how Brad writes it and just assign it by writing this.text=" " in the constructor.

  • @Dev_Everything
    @Dev_Everything 3 роки тому +27

    25:30 @Input() text: string = "";
    @Input() color: string = "";

    • @MrWowzorz
      @MrWowzorz 3 роки тому

      Thanks, upvoted

    • @mackivera
      @mackivera 3 роки тому

      Thanks a lot! this is so helpful :)

    • @neovim.
      @neovim. 2 роки тому

      Was looking for this too, thanks

  • @mnauet
    @mnauet 3 роки тому

    None of the Angular courses around can deliver so much value in so short tutorial. Thanks for continuous sharing valuable content. any thing i need, this channel is my first choice to start looking,.

  • @SSeeiicckk
    @SSeeiicckk 3 роки тому +3

    Thank you for your tutorials. I've been able to get a job! Full stack and in a great degree thanks to your videos and tutorials. You're the best!

  • @JasonJasonJasonJason-p4s
    @JasonJasonJasonJason-p4s 3 роки тому +1

    just got hired by state farm, but the team uses Angular instead of React, your videos are definitely helpful, really appreciate it!

  • @amazekhashaa7309
    @amazekhashaa7309 3 роки тому +38

    Yeah i think angular is best with typescript. Angular has a structure like a building. Its on point Brad!

  • @jasonrusso4156
    @jasonrusso4156 3 роки тому +2

    I'm stuck at 25:45. When I put the @Input() text: string; and color annotations in button.component it gives me an error and will not transpile. Property 'text' has no initializer and is not definitely assigned in the constructor.ts(2564)

  • @moefarid1953
    @moefarid1953 3 роки тому +7

    Brad, we love your work and amazing tutorials. Big fan!!

  • @Troubl3_Actual
    @Troubl3_Actual 3 роки тому

    As an old grumpy db/backend coot spending 2 days with our company's UI Doctor trying to bash just the basics of JavaScript and Angular through my thick skull i can say i learned more in the first 30 minutes here... Thanks!

  • @derickmoncado
    @derickmoncado 3 роки тому +3

    FINALLY. Been waiting for this one 🙏

    • @RR-jq1bi
      @RR-jq1bi 3 роки тому

      yes, it took a long time

  • @codefinity
    @codefinity 3 роки тому +1

    The tip about just throwing the `components` into `ng generate` - Brilliant! 🧠 I tried to move spit around after the fact and set up absolute imports, etc. This way, we get the directory structure we want (a la closer to React) and Angular/VS Code does all of the `import`s with TS. 👏🏾 🤓

  • @lakshyarajdash
    @lakshyarajdash 2 роки тому +4

    This was a really awesome course that I had ever followed. The tutorials I used to watch used the localstorage to store the data. But you took us on a full journey of angular. Thanks Brad!

    • @wildcoder5698
      @wildcoder5698 2 роки тому

      ua-cam.com/video/ql77Hk1RTGA/v-deo.html

  • @mohamedchibani9823
    @mohamedchibani9823 2 роки тому

    you explain so much better Brad, we need a full course and more projects

  • @vjzb3
    @vjzb3 3 роки тому +8

    You are so clutch with the timing of this video. Thank you, Brad!

  • @ckentj
    @ckentj 2 роки тому

    Thank you for your patience in teaching this course, Angular does have a steep learn curve but in my humble opinion it is worth the effort.

  • @dawoodahmad8243
    @dawoodahmad8243 3 роки тому +4

    Hi, is anyone helps me out, please, Actually, I got an error after writing this in task-item.component.ts file => @Input() task: Task; Video time 39:08 Here is an error: Property 'task' has no initializer and is not definitely assigned in the constructor. Please help me out with this.

    • @gleisonsubzeroKZ
      @gleisonsubzeroKZ 3 роки тому +6

      This is happening because you've started your project using the strict mode, to get rid of this error you should update your ts.config compiler options and set strictPropertyInitialization to false.

    • @dawoodahmad8243
      @dawoodahmad8243 3 роки тому +1

      @@gleisonsubzeroKZ thanks bro

  • @Cpt_Chirp
    @Cpt_Chirp Рік тому

    Thanks. I always find myself back on your channel anytime I need to learn / refresh my memory on a framework. Great videos.

  • @damienquamme4903
    @damienquamme4903 Рік тому +4

    With Anuglar 17, when adding the button component props, I had to set the strings with empty values to get them to work.
    Example:
    @Input() text: string = "";

  • @RodrigoNishino
    @RodrigoNishino 3 роки тому +2

    Long time ago I remember giving up on Angular, but with this video I kinda get it. Good teacher

    •  3 роки тому

      I recommend Brad's Angular course on udemy. It's just too good.

    • @maximumcockage6503
      @maximumcockage6503 3 роки тому

      @ I suggest both. I learned from both of them.

  • @PaulSebastianM
    @PaulSebastianM 3 роки тому +14

    1:07:16 Your event binding (onDeleteTask)="deleteTask(task)" is not actually taking the task from the event data. It's getting the task as part of the ngFor directive, ie. from the current component's state (tasks.component.ts). To call deleteTask() with the actual data from the onDeleteTask event, you need to call deleteTask($event) when this event fires. $event is Angular convention and is any object that you might have passed to the emit function of the EventEmitter (ie. 1:06:30 this.onDeleteTask.emit(task)). So basically $event === task here, the actual task that is correlated to the correct X icon/button that was clicked. Both version are correct functionally and do the same thing in the end, but to me, it seems more logically correct to use the actual data that comes with the event when you handle one and not handle some other data in this case.

    • @Robitny
      @Robitny 3 роки тому

      I am getting an error when I use either task or $event during compiling. I am using the latest version of Angular

    • @The_raTex
      @The_raTex 3 роки тому

      @@Robitny yea same, did u manage to fix it ?

    • @The_raTex
      @The_raTex 3 роки тому

      I figured my error in particular:
      I had @Output() onAddTAsk: EventEmitter = new EventEmitter(); istead of
      @Output() onAddTask: EventEmitter = new EventEmitter();
      in the add-task.component.ts
      So key sensitivity is something to look out for :)

    • @pashabiceps95
      @pashabiceps95 3 роки тому

      I was looking for the people that noticed this as well

    • @BatkoMahnovets
      @BatkoMahnovets Рік тому

      Hate being stuck on the minute 1:05:01. Anyone have an easy fix? Did he do changes in tsconfig.json?

  • @arpitjain6336
    @arpitjain6336 3 роки тому

    I just switched my job role into UI Development and I am glad I found this video.

  • @lvm_azn
    @lvm_azn 10 місяців тому +4

    36:21 Had issues with the *ngFor
    Fixed By:
    In your tasks.component.ts file
    - import CommonModule
    - Add CommonModule to the imports list in your Component Declaration

    • @benjaminluzier3734
      @benjaminluzier3734 3 місяці тому

      THANK YOU SO MUCH! I was looking forever!

    • @lobomalsano
      @lobomalsano 18 днів тому

      Doing now this old ass angular version tutorial feels like a constant battle. Than you!

  • @meme_gory
    @meme_gory 11 місяців тому

    Thanks Traversy i had my interview today they had thing like knowledge of angular will be plus point i learned from you video and little bit of self study just landed me the job

  • @AussieAmigan
    @AussieAmigan 3 роки тому +5

    I think this would be a great tutorial for my team to get up to speed on Angular. It was neat what you did with the Add button at the end with it detecting the route, which is a good concept to teach. However, your Button component has just become less generic, and if you use this route detection technique specific to your page, which may be one of dozens developed by a team in an enterprise, I doubt your pull request will be passed. Just saying. We have at least a dozen such custom controls in our project, so a great concept to teach. Thank you.

  • @MommaRoo36
    @MommaRoo36 2 роки тому +1

    Thank you for this wonderful tutorial! You explain things for WHY you are doing them. Things really started to click after your tutorial. Thank you!!!

  • @kettenbach
    @kettenbach 3 роки тому +3

    Outstanding 🙏❤️😍 I still got so much love for the Big Red A. People shit on because it's a little more challenging. They can't handle the heat of rxjs. Love you bro. 🙏

  • @shrutigoyal8323
    @shrutigoyal8323 Рік тому

    I am new to Angular and was looking for some good resources. This is absolutely awesome! It includes step by step explanation along with some of the best practices

  • @aissa.bouguern
    @aissa.bouguern 3 роки тому +3

    Very good and well made course! I liked the Subject/Subscription section.
    I worked with React and Vue in many projects, but I think Angular, as a framework, is more elegant and well designed.
    Thank you very much for this video.

    • @asakurayoh3909
      @asakurayoh3909 3 роки тому

      I have been using Angular for few years now. It’s pretty easy and powerful framework. Also, it’s good for big, complex projects.

  • @keithprice1950
    @keithprice1950 3 роки тому

    Spent about 6 months getting to grips with JavaScript and then a few more months with React. Got my first dev job, started today. First project - Angular. Definitely need a crash course, thank you.

  • @yabokutvji4717
    @yabokutvji4717 8 місяців тому +3

    In case anybody wonders why you dont have a app.module.ts file:
    In the past the command ng new my-app created a module based app as default.
    But now since angular v17, a standalone (not module based) app is created as default.
    To have a module based app with the app.module.ts file like in the video, you have to use the following command instead:
    ng new my-app --no-standalone

  • @P3truts
    @P3truts Рік тому +1

    Really cool course! Captures everything and in a short time. Definition of crash course!

  • @MrSudatt
    @MrSudatt 2 роки тому +11

    Sir, I am following your courses from a long time (I am a slow learner ), you are really a good teacher I have finished HTML, CSS, javaScript ( your course on udemy ) . It's a request to you that would you Please make a detailed crash course on Angular( just like your javaScript course on udemy). It would be a great help to the freshers like me to get entry in a IT company (to start a career as a developer) .

    • @jannickbreunis
      @jannickbreunis 2 роки тому

      FreeCodeCamp has an Angular for beginners course which is 17 hours long.

    • @MrSudatt
      @MrSudatt 2 роки тому

      @@jannickbreunis thank you very much ...I feel very happy that someOne reply to help...Thanks

    • @andrewshorts1198
      @andrewshorts1198 2 роки тому

      @@jannickbreunis That guy doesn't go through the nuances of Angular. He may speak for about 10 secs about providers and move on.

    • @Salma.Louhichi
      @Salma.Louhichi 2 роки тому

      I've only installed Free Solid Icons when asked : Choose Font Awesome icon packages you would like to use. What should I do ?

  • @narminmamedova8859
    @narminmamedova8859 Рік тому +1

    Really good tutorial, I just started to learn Angular and I think this tutorial was very clearly explained and a good start point. Obviously can't just learn Angular in two hours but I believe he did great job in this tutorial.

  • @hipstersantosh9101
    @hipstersantosh9101 3 роки тому +3

    can you tell me whhat is the theme ? it looks sooo goood!!!?!?

  • @giulianocarmona7250
    @giulianocarmona7250 2 роки тому

    dude, you really make me a better programmer, I'm so thankful for your work

  • @patrickneggie599
    @patrickneggie599 3 роки тому +6

    What theme are you using for VS Code? The text looks really clean in these colors. Great video by the way!

  • @kasisshrestha238
    @kasisshrestha238 Рік тому +1

    Great video for getting the kick-start.
    I would suggest having a few pages open up like app.component.html , app.component.ts , button.component.ts and button.component.html, or write it down on a piece of paper.
    Then use the pen to draw the flow from one page to another, to get a clear understanding of what's happening.
    Once you draw it, it gives a clear idea of the road map of whole video since it's such an iterative process.
    :)

  • @tiagovieira2375
    @tiagovieira2375 3 роки тому +3

    Anyone else having problems with ? Throwing exception and I have the same imports...

    • @tiagovieira2375
      @tiagovieira2375 3 роки тому +3

      Nvm guys, for those who are having this issue, just restart angular server... if the error persist, restart vscode aswell

    • @basileuskoi
      @basileuskoi 3 роки тому +1

      Thank you!

    • @dadadodo123
      @dadadodo123 3 роки тому +1

      @@tiagovieira2375 thank you so much!

  • @hacene-zerrouk
    @hacene-zerrouk 2 роки тому +1

    I love how angular works .
    Thanks braad 👏

  • @dayernGomez
    @dayernGomez 3 роки тому +3

    love it, i was wating for new angular course of you, keep going excelent course, btw what theme are you using? XD

  • @watherby29
    @watherby29 2 роки тому

    I can say that I have done many courses in many areas (many of which paid) but yours are the best in my opinion. You just have some kind of gift, dont know :)

  • @zeinabmoghbel1507
    @zeinabmoghbel1507 3 роки тому +8

    This course is great, this is the best thing that I can imagine, thank you very much and thank GOD.

  • @kelbinlin287
    @kelbinlin287 2 роки тому

    Best Free Tutorial for angular that i found, good job!!

  • @sameerkale8307
    @sameerkale8307 2 роки тому +3

    Great Learning, THANK YOU.

  • @nieev15july
    @nieev15july 3 роки тому +252

    In case you getting this compilation error- Property '…' has no initializer and is not definitely assigned in the constructor, add this in tsconfig.json - "strictPropertyInitialization": false

    • @ninarocket3149
      @ninarocket3149 3 роки тому +3

      THANK YOU!!!

    • @TheRonron1994
      @TheRonron1994 3 роки тому +14

      @@reyalvarez1617 Put it inside the angularCompilerOptions object.

    • @TheRonron1994
      @TheRonron1994 3 роки тому +16

      This is what I hate w/ Angular. Every time I try to follow a tutorial, I'll randomly encounter this kind of hiccups.

    • @techieT
      @techieT 3 роки тому +2

      Thank you sooo much Rajeev.I've been looking for a solution everywhere... thanks a lot

    • @mobileeats-q2i
      @mobileeats-q2i 3 роки тому +2

      This fix worked. Thanks so much!